// web-screens-v2.jsx — Additional app screens + cafe scene illustration
// Scan, tasting notes, share card, brew result.
// Needs shared.jsx + brand1518.jsx + ig-illustrations.jsx + web-screens.jsx (for Phone, StatusBar).

// ════════════════════════════════════════════════════════════
// CAFE SCENE — warm illustrated interior for hero bg
// Pendant lamps, counter, shelves, steam, warm light pools.
// ════════════════════════════════════════════════════════════
function CafeScene({ width=1200, height=700 }){
  const uid = 'cafe-'+Math.random().toString(36).slice(2,6);
  return (
    <svg viewBox="0 0 1200 700" preserveAspectRatio="xMidYMid slice" aria-hidden
      style={{ position:'absolute', inset:0, width:'100%', height:'100%', pointerEvents:'none' }}>
      <defs>
        <linearGradient id={uid+'bg'} x1="0" y1="0" x2="0" y2="1">
          <stop offset="0%" stopColor="#1E1914" /><stop offset="100%" stopColor="#15110D" />
        </linearGradient>
        <radialGradient id={uid+'lamp1'} cx="50%" cy="0%" r="65%">
          <stop offset="0%" stopColor="#E2A53C" stopOpacity="0.12" />
          <stop offset="100%" stopColor="#E2A53C" stopOpacity="0" />
        </radialGradient>
        <radialGradient id={uid+'lamp2'} cx="50%" cy="0%" r="60%">
          <stop offset="0%" stopColor="#E2A53C" stopOpacity="0.08" />
          <stop offset="100%" stopColor="#E2A53C" stopOpacity="0" />
        </radialGradient>
        <linearGradient id={uid+'counter'} x1="0" y1="0" x2="0" y2="1">
          <stop offset="0%" stopColor="#2C241C" /><stop offset="100%" stopColor="#211B16" />
        </linearGradient>
      </defs>

      {/* bg */}
      <rect width="1200" height="700" fill={`url(#${uid}bg)`} />

      {/* back wall — subtle brick texture lines */}
      {Array.from({length:18}).map((_,i)=>(
        <line key={'bh'+i} x1="0" y1={80+i*28} x2="1200" y2={80+i*28}
          stroke="#2A231C" strokeWidth="0.5" opacity="0.3" />
      ))}
      {Array.from({length:24}).map((_,i)=>(
        <line key={'bv'+i} x1={50+i*50} y1="80" x2={50+i*50} y2="560"
          stroke="#2A231C" strokeWidth="0.4" opacity="0.15" />
      ))}

      {/* shelf — back wall */}
      <rect x="60" y="180" width="380" height="6" rx="2" fill="#2E261F" />
      <rect x="60" y="280" width="380" height="6" rx="2" fill="#2E261F" />
      {/* bags on shelf */}
      {[80,130,185,240,290,345].map((x,i)=>(
        <rect key={'bag'+i} x={x} y={i<3?145:245} width={38} height={i<3?35:35}
          rx="4" fill={['#3A3228','#4A3E32','#352D24','#3E3428','#2E2620','#443A30'][i]}
          opacity="0.7" />
      ))}

      {/* espresso machine — right side */}
      <rect x="820" y="330" width="180" height="230" rx="8" fill="#2A231C" stroke="#3E342B" strokeWidth="1" />
      <rect x="840" y="350" width="60" height="40" rx="6" fill="#1E1914" />
      <rect x="920" y="350" width="60" height="40" rx="6" fill="#1E1914" />
      {/* portafilter */}
      <rect x="860" y="410" width="40" height="8" rx="4" fill="#4A3E32" />
      <line x1="880" y1="418" x2="880" y2="445" stroke="#4A3E32" strokeWidth="3" strokeLinecap="round" />
      {/* drip tray */}
      <rect x="835" y="520" width="150" height="12" rx="3" fill="#35302A" />
      {/* gauges */}
      <circle cx="870" cy="470" r="14" fill="none" stroke="#4A3E32" strokeWidth="1.5" />
      <circle cx="940" cy="470" r="14" fill="none" stroke="#4A3E32" strokeWidth="1.5" />
      <line x1="870" y1="470" x2="878" y2="462" stroke="#8B9A7D" strokeWidth="1.5" strokeLinecap="round" />
      <line x1="940" y1="470" x2="948" y2="464" stroke="#E26F38" strokeWidth="1.5" strokeLinecap="round" />

      {/* counter surface */}
      <rect x="0" y="555" width="1200" height="145" fill={`url(#${uid}counter)`} />
      <line x1="0" y1="555" x2="1200" y2="555" stroke="#3E342B" strokeWidth="1.5" />
      {/* wood grain on counter */}
      {Array.from({length:8}).map((_,i)=>(
        <line key={'cg'+i} x1="0" y1={575+i*14} x2="1200" y2={575+i*14}
          stroke="#35302A" strokeWidth="0.6" opacity="0.4" />
      ))}

      {/* V60 on counter */}
      <polygon points="520,480 560,555 480,555" fill="none" stroke="#4A3E32" strokeWidth="2" />
      <ellipse cx="520" cy="480" rx="28" ry="6" fill="none" stroke="#4A3E32" strokeWidth="1.5" />
      {/* carafe underneath */}
      <rect x="495" y="540" width="50" height="18" rx="6" fill="#2E261F" stroke="#3E342B" strokeWidth="1" />

      {/* cup on counter — center */}
      <ellipse cx="650" cy="535" rx="24" ry="7" fill="#3A3228" />
      <rect x="626" y="535" width="48" height="22" rx="3" fill="#3A3228" />
      <ellipse cx="650" cy="535" rx="20" ry="5" fill="#2E261F" />
      {/* steam from cup */}
      <path d="M644,528 Q642,516 646,508 Q650,500 648,490" fill="none" stroke="#F4ECDD" strokeWidth="1" opacity="0.08" />
      <path d="M652,526 Q654,514 650,506 Q646,498 650,486" fill="none" stroke="#F4ECDD" strokeWidth="1" opacity="0.06" />
      <path d="M658,528 Q660,518 656,510 Q652,502 656,492" fill="none" stroke="#F4ECDD" strokeWidth="0.8" opacity="0.05" />

      {/* scale on counter */}
      <rect x="380" y="538" width="62" height="18" rx="4" fill="#2E261F" stroke="#3E342B" strokeWidth="1" />
      <rect x="388" y="530" width="46" height="10" rx="2" fill="#252018" />

      {/* pendant lamps */}
      {[300,600,900].map((x,i)=>(
        <g key={'lamp'+i}>
          <line x1={x} y1="0" x2={x} y2={60+i*12} stroke="#3E342B" strokeWidth="1.5" />
          <polygon points={`${x-18},${62+i*12} ${x+18},${62+i*12} ${x+12},${90+i*12} ${x-12},${90+i*12}`}
            fill="#2E261F" stroke="#3E342B" strokeWidth="1" />
          {/* warm light cone */}
          <ellipse cx={x} cy={200+i*20} rx={140} ry={120}
            fill={i===1?`url(#${uid}lamp1)`:`url(#${uid}lamp2)`} />
          {/* bulb glow */}
          <circle cx={x} cy={80+i*12} r="4" fill="#E2A53C" opacity="0.4" />
          <circle cx={x} cy={80+i*12} r="12" fill="#E2A53C" opacity="0.06" />
        </g>
      ))}

      {/* coffee bag on counter — foreground, being scanned */}
      <rect x="140" y="495" width="70" height="65" rx="6" fill="#3E3428" stroke="#4A3E32" strokeWidth="1" />
      <rect x="152" y="505" width="46" height="8" rx="2" fill="#4A3E32" />
      <rect x="152" y="518" width="30" height="4" rx="1" fill="#5A4E3E" opacity="0.5" />
      <rect x="152" y="526" width="38" height="4" rx="1" fill="#5A4E3E" opacity="0.3" />
      {/* label detail */}
      <circle cx="175" cy="545" r="8" fill="none" stroke="#8B9A7D" strokeWidth="1" opacity="0.4" />

      {/* grain overlay */}
      <rect width="1200" height="700" fill="url(#noise)" opacity="0.04" />
    </svg>
  );
}


// ════════════════════════════════════════════════════════════
// SCREEN: Scan / Camera viewfinder
// ════════════════════════════════════════════════════════════
function ScreenScan(){
  const P = useP();
  return (
    <div style={{ position:'absolute', inset:0, overflow:'hidden' }}>
      {/* "camera feed" — warm dark cafe-like bg */}
      <div style={{ position:'absolute', inset:0,
        background:'radial-gradient(ellipse 80% 60% at 50% 55%, #3E3226, #1A1510)' }} />
      {/* simulated bag in viewfinder */}
      <div style={{ position:'absolute', top:'28%', left:'50%', transform:'translateX(-50%)',
        width:140, height:180, borderRadius:10, background:'#4A3E32', border:'1px solid #5A4E3E',
        display:'flex', flexDirection:'column', alignItems:'center', padding:'14px 12px', gap:6 }}>
        <div style={{ width:80, height:10, borderRadius:3, background:'#5A4E3E' }} />
        <div style={{ width:60, height:6, borderRadius:2, background:'#5A4E3E', opacity:0.5 }} />
        <div style={{ width:40, height:40, borderRadius:'50%', border:'1px solid #8B9A7D',
          marginTop:8, display:'flex', alignItems:'center', justifyContent:'center', opacity:0.4 }}>
          <BeanRoasted size={28} color="#8B9A7D" opacity={0.6} />
        </div>
        <div style={{ flex:1 }} />
        <div style={{ width:70, height:5, borderRadius:2, background:'#5A4E3E', opacity:0.3 }} />
        <div style={{ width:50, height:5, borderRadius:2, background:'#5A4E3E', opacity:0.2 }} />
      </div>
      <StatusBar light />
      {/* viewfinder corners */}
      <div style={{ position:'absolute', inset:0, zIndex:5 }}>
        {/* scan frame corners */}
        {[['top','left'],['top','right'],['bottom','left'],['bottom','right']].map(([v,h],k)=>(
          <div key={k} style={{ position:'absolute', [v]:'22%', [h]:'14%', width:28, height:28,
            borderColor:P.sage, borderStyle:'solid', borderWidth:0,
            [`border${v==='top'?'Top':'Bottom'}Width`]:2.5,
            [`border${h==='left'?'Left':'Right'}Width`]:2.5,
            [`border${v==='top'?'Top':'Bottom'}${h==='left'?'Left':'Right'}Radius`]:8 }} />
        ))}
        {/* scanning line */}
        <div style={{ position:'absolute', top:'42%', left:'14%', right:'14%', height:2,
          background:`linear-gradient(90deg, transparent, ${P.sage}88, transparent)`,
          boxShadow:`0 0 12px ${P.sage}66` }} />
      </div>
      {/* bottom bar */}
      <div style={{ position:'absolute', bottom:0, left:0, right:0, padding:'24px 22px 36px',
        background:'linear-gradient(to top, #211B16ee, transparent)', zIndex:5 }}>
        <div className="sans" style={{ fontSize:10, fontWeight:600, letterSpacing:'0.18em',
          textTransform:'uppercase', color:P.sage, textAlign:'center' }}>Scanning</div>
        <div className="serif" style={{ fontSize:17, color:'#F4ECDD', textAlign:'center',
          marginTop:8 }}>Point at any coffee bag</div>
        <div className="serif" style={{ fontStyle:'italic', fontSize:13.5, color:'#9E9079',
          textAlign:'center', marginTop:5 }}>1518 reads the label automatically</div>
      </div>
    </div>
  );
}


// ════════════════════════════════════════════════════════════
// SCREEN: Scan result — bag recognized
// ════════════════════════════════════════════════════════════
function ScreenScanResult(){
  const P = useP();
  return (
    <div style={{ position:'absolute', inset:0, background:P.paper, overflow:'hidden' }}>
      <StatusBar />
      <div style={{ position:'absolute', inset:0, display:'flex', flexDirection:'column',
        padding:'52px 22px 26px', zIndex:5 }}>
        {/* success badge */}
        <div style={{ display:'flex', alignItems:'center', justifyContent:'center', gap:8, marginTop:8 }}>
          <div style={{ width:24, height:24, borderRadius:'50%', background:P.sage,
            display:'flex', alignItems:'center', justifyContent:'center' }}>
            <svg width="14" height="14" viewBox="0 0 14 14" fill="none" stroke="#1C1611" strokeWidth="2" strokeLinecap="round">
              <path d="M3 7.5L5.5 10L11 4" />
            </svg>
          </div>
          <span className="sans" style={{ fontSize:12, fontWeight:600, color:P.sage, letterSpacing:'0.1em',
            textTransform:'uppercase' }}>Bag recognized</span>
        </div>

        {/* coffee card */}
        <div style={{ marginTop:20, padding:'20px', borderRadius:18, background:P.card,
          border:'1px solid '+P.line }}>
          <div style={{ display:'flex', gap:14, alignItems:'flex-start' }}>
            <div style={{ width:58, height:74, borderRadius:10, background:'#3E3428',
              display:'flex', alignItems:'center', justifyContent:'center', flexShrink:0 }}>
              <BeanRoasted size={36} color={P.sage} opacity={0.7} />
            </div>
            <div>
              <div className="serif" style={{ fontSize:20, color:P.ink, lineHeight:1.1 }}>Pink Bourbon</div>
              <div className="sans" style={{ fontSize:12, color:P.stone, marginTop:4 }}>Finca La Esperanza</div>
              <div className="sans" style={{ fontSize:11, color:P.stoneLt, marginTop:2 }}>Huila, Colombia · 1,850 masl</div>
              <div style={{ display:'flex', gap:6, marginTop:10, flexWrap:'wrap' }}>
                {['Washed','Light roast'].map((t,k)=>(
                  <span key={k} className="sans" style={{ fontSize:10, fontWeight:600, padding:'4px 9px',
                    borderRadius:20, background:P.cardSunk, color:P.stone, letterSpacing:'0.04em',
                    whiteSpace:'nowrap', display:'inline-flex', alignItems:'center' }}>{t}</span>
                ))}
              </div>
            </div>
          </div>
        </div>

        {/* recipe preview */}
        <div className="sans" style={{ fontSize:10, fontWeight:600, letterSpacing:'0.16em',
          textTransform:'uppercase', color:P.sage, marginTop:22 }}>Suggested recipe</div>
        <div style={{ display:'grid', gridTemplateColumns:'1fr 1fr', gap:8, marginTop:10 }}>
          {[['Coffee','15 g'],['Water','250 g'],['Temp','96 °C'],['Time','3:15']].map(([l,v],k)=>(
            <div key={k} style={{ padding:'12px 14px', borderRadius:12, background:P.card,
              border:'1px solid '+P.line }}>
              <div className="sans" style={{ fontSize:9.5, fontWeight:600, letterSpacing:'0.12em',
                textTransform:'uppercase', color:P.stone }}>{l}</div>
              <div className="serif tnum" style={{ fontSize:20, color:P.ink, marginTop:3 }}>{v}</div>
            </div>
          ))}
        </div>

        <div style={{ flex:1 }} />

        {/* brew button */}
        <div style={{ padding:'16px', borderRadius:16, background:P.sage,
          textAlign:'center', cursor:'default' }}>
          <span className="sans" style={{ fontSize:15, fontWeight:700, color:'#1C1611' }}>Start brewing</span>
        </div>
      </div>
    </div>
  );
}


// ════════════════════════════════════════════════════════════
// SCREEN: Tasting notes — flavor wheel
// ════════════════════════════════════════════════════════════
function ScreenTasting(){
  const P = useP();
  const axes = [
    { label:'Fruity', value:0.8, angle:0 },
    { label:'Floral', value:0.6, angle:60 },
    { label:'Sweet', value:0.75, angle:120 },
    { label:'Nutty', value:0.4, angle:180 },
    { label:'Chocolate', value:0.55, angle:240 },
    { label:'Bright', value:0.7, angle:300 },
  ];
  const R = 72;
  const cx = 120, cy = 120;
  const poly = axes.map(a=>{
    const rad = (a.angle - 90) * Math.PI / 180;
    return `${cx + R*a.value*Math.cos(rad)},${cy + R*a.value*Math.sin(rad)}`;
  }).join(' ');
  const grid = axes.map(a=>{
    const rad = (a.angle - 90) * Math.PI / 180;
    return { x: cx + R*Math.cos(rad), y: cy + R*Math.sin(rad), label:a.label };
  });

  return (
    <div style={{ position:'absolute', inset:0, background:P.paper, overflow:'hidden' }}>
      <StatusBar />
      <div style={{ position:'absolute', inset:0, display:'flex', flexDirection:'column',
        padding:'52px 22px 26px', zIndex:5 }}>
        <div className="sans" style={{ fontSize:10, fontWeight:600, letterSpacing:'0.18em',
          textTransform:'uppercase', color:P.sage }}>Tasting notes</div>
        <div className="serif" style={{ fontSize:22, color:P.ink, marginTop:7 }}>Pink Bourbon</div>
        <div className="sans" style={{ fontSize:12, color:P.stone, marginTop:3 }}>Colombia · Huila</div>

        {/* flavor wheel */}
        <div style={{ display:'flex', justifyContent:'center', marginTop:22 }}>
          <svg width="240" height="240" viewBox="0 0 240 240">
            {/* grid rings */}
            {[0.33,0.66,1].map((s,k)=>(
              <polygon key={k} points={grid.map(g=>{
                const dx=g.x-cx, dy=g.y-cy;
                return `${cx+dx*s},${cy+dy*s}`;
              }).join(' ')} fill="none" stroke={P.line} strokeWidth="0.8" />
            ))}
            {/* axis lines */}
            {grid.map((g,k)=>(
              <line key={k} x1={cx} y1={cy} x2={g.x} y2={g.y} stroke={P.line} strokeWidth="0.6" />
            ))}
            {/* data polygon */}
            <polygon points={poly} fill={P.sage+'22'} stroke={P.sage} strokeWidth="2" />
            {/* dots */}
            {axes.map((a,k)=>{
              const rad = (a.angle - 90) * Math.PI / 180;
              return <circle key={k} cx={cx + R*a.value*Math.cos(rad)} cy={cy + R*a.value*Math.sin(rad)}
                r="4" fill={P.sage} />;
            })}
            {/* labels */}
            {grid.map((g,k)=>{
              const dx = g.x-cx, dy = g.y-cy;
              const lx = cx+dx*1.28, ly = cy+dy*1.28;
              return <text key={k} x={lx} y={ly+4} textAnchor="middle"
                className="sans" style={{ fontSize:9.5, fontWeight:600, fill:P.stone }}>{g.label}</text>;
            })}
          </svg>
        </div>

        {/* note tags */}
        <div style={{ display:'flex', flexWrap:'wrap', gap:7, justifyContent:'center', marginTop:14 }}>
          {['Raspberry','Jasmine','Honey','Citrus zest','Clean finish'].map((n,k)=>(
            <span key={k} className="sans" style={{ fontSize:11, fontWeight:500, padding:'6px 12px',
              borderRadius:20, background:P.card, border:'1px solid '+P.line, color:P.ink }}>{n}</span>
          ))}
        </div>

        <div style={{ flex:1 }} />

        {/* overall score */}
        <div style={{ textAlign:'center', marginBottom:8 }}>
          <div className="serif tnum" style={{ fontSize:42, color:P.ink, lineHeight:1 }}>88</div>
          <div className="sans" style={{ fontSize:10.5, color:P.stone, marginTop:4, letterSpacing:'0.1em',
            textTransform:'uppercase' }}>Your rating</div>
        </div>
      </div>
    </div>
  );
}


// ════════════════════════════════════════════════════════════
// SCREEN: Share brew card
// ════════════════════════════════════════════════════════════
function ScreenShare(){
  const P = useP();
  return (
    <div style={{ position:'absolute', inset:0, background:P.paper, overflow:'hidden' }}>
      <StatusBar />
      <div style={{ position:'absolute', inset:0, display:'flex', flexDirection:'column',
        alignItems:'center', padding:'52px 18px 26px', zIndex:5 }}>
        <div className="sans" style={{ fontSize:10, fontWeight:600, letterSpacing:'0.18em',
          textTransform:'uppercase', color:P.sage }}>Share your brew</div>

        {/* brew card */}
        <div style={{ marginTop:16, width:'100%', borderRadius:18, overflow:'hidden',
          background:P.card, border:'1px solid '+P.line }}>
          {/* card header with landscape */}
          <div style={{ position:'relative', height:110, overflow:'hidden' }}>
            <IGLandscape terrain="andes" placement="full" opacity={0.7} />
            <div style={{ position:'absolute', inset:0,
              background:'linear-gradient(to top, '+P.card+' 0%, transparent 100%)' }} />
            <div style={{ position:'absolute', bottom:12, left:16, right:16, zIndex:2 }}>
              <div className="serif" style={{ fontSize:19, color:'#F4ECDD', lineHeight:1.1 }}>Pink Bourbon</div>
              <div className="sans" style={{ fontSize:11, color:'#D6C9B4', marginTop:3 }}>Finca La Esperanza · Colombia</div>
            </div>
          </div>
          {/* card body */}
          <div style={{ padding:'14px 16px 18px' }}>
            <div style={{ display:'grid', gridTemplateColumns:'1fr 1fr 1fr', gap:8 }}>
              {[['Dose','15 g'],['Water','250 g'],['Time','3:15']].map(([l,v],k)=>(
                <div key={k} style={{ textAlign:'center' }}>
                  <div className="sans" style={{ fontSize:9, fontWeight:600, letterSpacing:'0.12em',
                    textTransform:'uppercase', color:P.stone }}>{l}</div>
                  <div className="serif tnum" style={{ fontSize:17, color:P.ink, marginTop:2 }}>{v}</div>
                </div>
              ))}
            </div>
            <div style={{ height:1, background:P.line, margin:'12px 0' }} />
            <div style={{ display:'flex', flexWrap:'wrap', gap:5 }}>
              {['Raspberry','Jasmine','Honey'].map((n,k)=>(
                <span key={k} className="sans" style={{ fontSize:10, padding:'4px 10px',
                  borderRadius:16, background:P.cardSunk, color:P.stone }}>{n}</span>
              ))}
            </div>
            <div style={{ display:'flex', alignItems:'center', justifyContent:'space-between', marginTop:12 }}>
              <div style={{ display:'flex', alignItems:'center', gap:6 }}>
                <Logo1518 size={14} />
                <span className="sans" style={{ fontSize:10, color:P.stoneLt }}>1518.coffee</span>
              </div>
              <div className="serif tnum" style={{ fontSize:22, color:P.ink }}>88</div>
            </div>
          </div>
        </div>

        {/* share options */}
        <div style={{ display:'flex', gap:12, marginTop:20 }}>
          {[
            { label:'Share', d:'M12 16V4 M7.5 8.5l4.5-4.5 4.5 4.5 M5 14v5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-5' },
            { label:'Save', d:'M6.5 4.5h11v16l-5.5-4-5.5 4z' },
            { label:'Favorite', d:'M12 20.2C6.2 16 3.6 13.4 3.6 10.1A3.9 3.9 0 0 1 12 7.7 3.9 3.9 0 0 1 20.4 10.1C20.4 13.4 17.8 16 12 20.2z' },
          ].map((a,k)=>(
            <div key={k} style={{ flex:1, padding:'10px 0', display:'flex', flexDirection:'column', alignItems:'center' }}>
              <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke={P.ink}
                strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round">
                <path d={a.d} />
              </svg>
              <div className="sans" style={{ fontSize:10, color:P.stone, marginTop:7 }}>{a.label}</div>
            </div>
          ))}
        </div>

        <div style={{ flex:1 }} />
        <div className="serif" style={{ fontStyle:'italic', fontSize:13, color:P.stoneLt,
          textAlign:'center' }}>Your brew card — share it or keep it.</div>
      </div>
    </div>
  );
}


// ════════════════════════════════════════════════════════════
// SCREEN: Brew complete — congrats moment
// ════════════════════════════════════════════════════════════
function ScreenBrewComplete(){
  const P = useP();
  return (
    <div style={{ position:'absolute', inset:0, background:P.paper, overflow:'hidden' }}>
      <IGLandscape terrain="andes" placement="full" opacity={0.3} />
      <div style={{ position:'absolute', inset:0,
        background:'linear-gradient(to bottom, #211B16cc 0%, #211B16ee 50%, #211B16 100%)' }} />
      <StatusBar />
      <div style={{ position:'absolute', inset:0, display:'flex', flexDirection:'column',
        alignItems:'center', justifyContent:'center', padding:'52px 26px 26px', zIndex:5 }}>
        {/* checkmark circle */}
        <div style={{ width:72, height:72, borderRadius:'50%', border:`2px solid ${P.sage}`,
          display:'flex', alignItems:'center', justifyContent:'center',
          boxShadow:`0 0 24px ${P.sage}44` }}>
          <svg width="32" height="32" viewBox="0 0 32 32" fill="none" stroke={P.sage}
            strokeWidth="3" strokeLinecap="round"><path d="M8 17L13 22L24 10" /></svg>
        </div>
        <div className="serif" style={{ fontSize:28, color:P.ink, marginTop:24, textAlign:'center' }}>
          Brew complete.
        </div>
        <div className="serif" style={{ fontStyle:'italic', fontSize:16, color:P.stone,
          marginTop:10, textAlign:'center', maxWidth:220, lineHeight:1.45 }}>
          Take a sip. Let it settle. Then tell 1518 what you tasted.
        </div>

        {/* streak */}
        <div style={{ marginTop:32, display:'flex', alignItems:'center', gap:8 }}>
          <span style={{ color:P.clay, fontSize:14 }}>◆</span>
          <span className="sans" style={{ fontSize:13, fontWeight:600, color:P.ink }}>Day 7</span>
          <span className="sans" style={{ fontSize:12, color:P.stone }}>brew streak</span>
        </div>

        <div style={{ flex:1 }} />

        <div style={{ width:'100%', padding:'16px', borderRadius:16, background:P.sage,
          textAlign:'center' }}>
          <span className="sans" style={{ fontSize:15, fontWeight:700, color:'#1C1611' }}>Log tasting notes</span>
        </div>
      </div>
    </div>
  );
}


Object.assign(window, {
  CafeScene, ScreenScan, ScreenScanResult, ScreenTasting, ScreenShare, ScreenBrewComplete,
});
