// 22hrs — prototype screens
const { useState, useEffect, useRef } = React;

// ──────────────────────────────────────────────
// 1. Welcome
// ──────────────────────────────────────────────
function ScreenWelcome({ go }) {
  return (
    <div className="pp-screen" style={{ height: '100%', display: 'flex', flexDirection: 'column', padding: '72px 28px 56px', position: 'relative', overflow: 'hidden' }}>
      {/* faint hero glow */}
      <div style={{ position: 'absolute', top: -80, left: '50%', transform: 'translateX(-50%)', width: 520, height: 520, borderRadius: '50%', background: 'radial-gradient(closest-side, rgba(31,184,224,0.18), rgba(60,191,158,0.06) 50%, transparent 70%)', pointerEvents: 'none' }} />
      <div style={{ position: 'relative', zIndex: 1, flex: 1, display: 'flex', flexDirection: 'column' }}>
        <div style={{ display: 'flex', alignItems: 'center', gap: 10 }}>
          <img src="assets/logo-mark-white.svg" width="22" height="22" alt="" />
          <div style={{ fontSize: 15, fontWeight: 500, letterSpacing: '-0.01em' }}>22hrs</div>
        </div>

        <div style={{ flex: 1, display: 'flex', alignItems: 'center', justifyContent: 'center', padding: '30px 0' }}>
          <div style={{ transform: 'translateY(-10px)', animation: 'pp-bob 5s ease-in-out infinite', textAlign: "center", margin: "0px" }}>
            <CaseGlyph size={260} glow />
          </div>
        </div>

        <Eyebrow style={{ marginBottom: 14 }}>Smart aligner case</Eyebrow>
        <h1 style={{ fontSize: 34, fontWeight: 500, letterSpacing: '-0.025em', lineHeight: 1.05, margin: 0, marginBottom: 14 }}>
          Stay on track<br />without thinking<br />about it.
        </h1>
        <p style={{ fontSize: 15, color: 'var(--t-fg-3)', lineHeight: 1.5, margin: 0, marginBottom: 32, maxWidth: 300 }}>
          Your case logs every minute your aligners are out — so 22 hours a day takes care of itself.
        </p>

        <div style={{ display: 'flex', flexDirection: 'column', gap: 10 }}>
          <Btn variant="primary" block onClick={() => go('signup')}>Get started</Btn>
          <Btn variant="ghost" block onClick={() => go('signin')}>I already have an account</Btn>
        </div>
      </div>
    </div>);

}

// ──────────────────────────────────────────────
// 2. Sign in
// ──────────────────────────────────────────────
function ScreenSignIn({ go }) {
  const [email, setEmail] = useState('jordan@example.com');
  const [pw, setPw] = useState('••••••••••');
  const valid = email.includes('@') && pw.length >= 6;

  return (
    <div className="pp-screen" style={{ height: '100%', display: 'flex', flexDirection: 'column', padding: '68px 28px 48px' }}>
      <button onClick={() => go('welcome')} aria-label="Back" style={{ background: 'none', border: 0, color: 'var(--t-fg-3)', padding: 0, marginBottom: 24, display: 'flex', alignItems: 'center', gap: 6, cursor: 'pointer', fontFamily: 'inherit', fontSize: 14 }}>
        <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.75" strokeLinecap="round"><path d="M15 6l-6 6 6 6" /></svg>
        Back
      </button>

      <Eyebrow style={{ marginBottom: 10 }}>Welcome back</Eyebrow>
      <h2 style={{ fontSize: 28, fontWeight: 500, letterSpacing: '-0.02em', margin: 0, marginBottom: 28, lineHeight: 1.1 }}>Sign in to 22hrs</h2>

      <div style={{ display: 'flex', flexDirection: 'column', gap: 14, marginBottom: 18 }}>
        <Field label="Email" value={email} onChange={setEmail} type="email" autoFocus />
        <Field label="Password" value={pw} onChange={setPw} type="password" trailing={
        <span style={{ fontSize: 12, color: '#1FB8E0', cursor: 'pointer' }}>Show</span>
        } />
      </div>

      <div style={{ display: 'flex', justifyContent: 'flex-end', marginBottom: 24 }}>
        <span style={{ fontSize: 13, color: 'var(--t-fg-3)', cursor: 'pointer' }}>Forgot password?</span>
      </div>

      <Btn variant="primary" block disabled={!valid} onClick={() => go('find')}>Continue</Btn>

      <div style={{ display: 'flex', alignItems: 'center', gap: 12, margin: '24px 0' }}>
        <div style={{ flex: 1, height: 1, background: 'var(--t-quiet-3)' }} />
        <span style={{ fontSize: 11, color: 'var(--t-fg-muted)', letterSpacing: '0.12em' }}>OR</span>
        <div style={{ flex: 1, height: 1, background: 'var(--t-quiet-3)' }} />
      </div>

      <div style={{ display: 'flex', flexDirection: 'column', gap: 10 }}>
        <Btn variant="outline" block onClick={() => go('find')} leading={
        <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M17.05 20.28c-.98.95-2.05.8-3.08.35-1.09-.46-2.09-.48-3.24 0-1.44.62-2.2.44-3.06-.35C2.79 15.25 3.51 7.59 9.05 7.31c1.35.07 2.29.74 3.08.8 1.18-.24 2.31-.93 3.57-.84 1.51.12 2.65.72 3.4 1.8-3.12 1.87-2.38 5.98.48 7.13-.57 1.5-1.31 2.99-2.54 4.09zM12.03 7.25c-.15-2.23 1.66-4.07 3.74-4.25.29 2.58-2.34 4.5-3.74 4.25z" /></svg>
        }>Continue with Apple</Btn>
        <Btn variant="outline" block onClick={() => go('find')} leading={
        <svg width="18" height="18" viewBox="0 0 24 24"><path fill="#fff" d="M21.35 11.1H12v3.9h5.35c-.46 2.13-2.27 3.66-5.35 3.66a6 6 0 010-12c1.6 0 3.06.62 4.18 1.62l2.56-2.56C16.96 4.04 14.63 3 12 3a9 9 0 100 18c5.18 0 8.6-3.65 8.6-8.78 0-.74-.08-1.46-.25-2.12z" /></svg>
        }>Continue with Google</Btn>
      </div>
    </div>);

}

// ──────────────────────────────────────────────
// 3. Find case (intro / permission)
// ──────────────────────────────────────────────
function ScreenFind({ go }) {
  return (
    <div className="pp-screen" style={{ height: '100%', display: 'flex', flexDirection: 'column', padding: '72px 28px 48px' }}>
      <Eyebrow style={{ marginBottom: 10 }}>Pair your case</Eyebrow>
      <h2 style={{ fontSize: 30, fontWeight: 500, letterSpacing: '-0.02em', margin: 0, marginBottom: 14, lineHeight: 1.1 }}>Let's find your case.</h2>
      <p style={{ fontSize: 15, color: 'var(--t-fg-3)', lineHeight: 1.5, margin: 0, marginBottom: 24 }}>
        Open the lid once. The arches on top will pulse cyan when the case is ready to pair.
      </p>

      <div style={{ flex: 1, display: 'flex', alignItems: 'center', justifyContent: 'center', fontWeight: "400", height: "336px" }}>
        <CaseGlyph size={260} glow lid="open" />
      </div>

      <Card style={{ marginBottom: 18 }} padding={16}>
        <div style={{ display: 'flex', alignItems: 'flex-start', gap: 12 }}>
          <div style={{ width: 32, height: 32, borderRadius: 10, background: 'rgba(31,184,224,0.12)', display: 'flex', alignItems: 'center', justifyContent: 'center', flex: 'none' }}>
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#1FB8E0" strokeWidth="1.75" strokeLinecap="round" strokeLinejoin="round">
              <path d="M6 7L18 17M6 17L18 7M12 3v18" />
            </svg>
          </div>
          <div style={{ flex: 1 }}>
            <div style={{ fontSize: 14, fontWeight: 500, marginBottom: 2 }}>We'll need Bluetooth</div>
            <div style={{ fontSize: 12, color: 'var(--t-fg-3)', lineHeight: 1.5 }}>Used only to talk to your case. Never for tracking.</div>
          </div>
        </div>
      </Card>

      <Btn variant="primary" block onClick={() => go('scan')}>Start scanning</Btn>
    </div>);

}

// ──────────────────────────────────────────────
// 4. Scanning
// ──────────────────────────────────────────────
function ScreenScan({ go }) {
  // auto-advance after 3.2s
  useEffect(() => {
    const t = setTimeout(() => go('found'), 3200);
    return () => clearTimeout(t);
  }, [go]);

  const [dots, setDots] = useState('');
  useEffect(() => {
    const i = setInterval(() => setDots((d) => d.length >= 3 ? '' : d + '.'), 400);
    return () => clearInterval(i);
  }, []);

  return (
    <div className="pp-screen" style={{ height: '100%', display: 'flex', flexDirection: 'column', padding: '72px 28px 48px' }}>
      <Eyebrow style={{ marginBottom: 10 }}>Bluetooth · listening</Eyebrow>
      <h2 style={{ fontSize: 30, fontWeight: 500, letterSpacing: '-0.02em', margin: 0, lineHeight: 1.1 }}>Looking for your case{dots}</h2>

      <div style={{ flex: 1, display: 'flex', alignItems: 'center', justifyContent: 'center', position: 'relative' }}>
        <div style={{ position: 'absolute', zIndex: 0, display: 'flex', alignItems: 'center', justifyContent: 'center' }}>
          <Sonar size={300} />
        </div>
        <div style={{ position: 'relative', zIndex: 1 }}>
          <CaseGlyph size={210} lid="scanning" />
        </div>
      </div>

      <div style={{ textAlign: 'center', marginBottom: 20 }}>
        <div style={{ fontSize: 13, color: 'var(--t-fg-3)', lineHeight: 1.5 }}>
          Hold the case within an arm's length.
        </div>
      </div>

      <Btn variant="quiet" block onClick={() => go('find')}>Cancel</Btn>
    </div>);

}

// ──────────────────────────────────────────────
// 5. Case found
// ──────────────────────────────────────────────
function ScreenFound({ go }) {
  return (
    <div className="pp-screen" style={{ height: '100%', display: 'flex', flexDirection: 'column', padding: '72px 28px 48px' }}>
      <Eyebrow style={{ marginBottom: 10, color: '#5FCFB2' }}>Case detected</Eyebrow>
      <h2 style={{ fontSize: 30, fontWeight: 500, letterSpacing: '-0.02em', margin: 0, marginBottom: 24, lineHeight: 1.1 }}>Found one nearby.</h2>

      <Card padding={20} style={{ marginBottom: 14 }}>
        <div style={{ display: 'flex', alignItems: 'center', gap: 18 }}>
          <CaseGlyph size={104} />
          <div style={{ flex: 1, minWidth: 0 }}>
            <div style={{ fontSize: 17, fontWeight: 500, letterSpacing: '-0.01em', marginBottom: 4 }}>22hrs Case</div>
            <div style={{ fontSize: 12, color: 'var(--t-fg-muted)', fontFamily: 'Geist Mono, monospace', letterSpacing: '0.04em' }}>22H–2A41–07</div>
          </div>
          <StatusPill status="listening" />
        </div>

        <div style={{ height: 1, background: 'var(--t-quiet)', margin: '18px 0' }} />

        <div style={{ display: 'grid', gridTemplateColumns: '1fr 1fr', gap: 16 }}>
          <div>
            <Eyebrow style={{ marginBottom: 8 }}>Battery</Eyebrow>
            <div style={{ display: 'flex', alignItems: 'center', gap: 10 }}>
              <Battery pct={84} />
              <span style={{ fontSize: 18, fontWeight: 500, fontVariantNumeric: 'tabular-nums' }}>84%</span>
            </div>
          </div>
          <div>
            <Eyebrow style={{ marginBottom: 8 }}>Signal</Eyebrow>
            <div style={{ display: 'flex', alignItems: 'center', gap: 10 }}>
              <div style={{ display: 'flex', alignItems: 'flex-end', gap: 2, height: 14 }}>
                {[6, 9, 12, 14].map((h, i) =>
                <div key={i} style={{ width: 3, height: h, borderRadius: 1, background: i < 3 ? '#3CBF9E' : 'var(--t-border-strong)' }} />
                )}
              </div>
              <span style={{ fontSize: 14, color: 'var(--t-fg-3)' }}>Strong</span>
            </div>
          </div>
        </div>
      </Card>

      <p style={{ fontSize: 13, color: 'var(--t-fg-muted)', textAlign: 'center', margin: '4px 0 18px', lineHeight: 1.5 }}>
        Tracking starts the next time aligners come out.
      </p>

      <div style={{ flex: 1, opacity: "1", height: "56px" }} />

      <div style={{ display: 'flex', flexDirection: 'column', gap: 10 }}>
        <Btn variant="primary" block onClick={() => go('paired')}>Pair this case</Btn>
        <Btn variant="ghost" block onClick={() => go('scan')}>Not this one — keep looking</Btn>
      </div>
    </div>);

}

// ──────────────────────────────────────────────
// 6. Paired (success moment)
// ──────────────────────────────────────────────
function ScreenPaired({ go }) {
  useEffect(() => {
    const t = setTimeout(() => go('home'), 1800);
    return () => clearTimeout(t);
  }, [go]);
  return (
    <div className="pp-screen" style={{ height: '100%', display: 'flex', flexDirection: 'column', alignItems: 'center', justifyContent: 'center', padding: '40px 28px', textAlign: 'center' }}>
      <BigCheck size={108} />
      <Eyebrow style={{ marginTop: 32, marginBottom: 8, color: '#5FCFB2' }}>Paired</Eyebrow>
      <div style={{ fontSize: 26, fontWeight: 500, letterSpacing: '-0.02em', marginBottom: 10 }}>You're all set.</div>
      <div style={{ fontSize: 14, color: 'var(--t-fg-3)', lineHeight: 1.5, maxWidth: 280 }}>
        Wear-time tracking is on. The case will keep counting in the background.
      </div>
    </div>);

}

// ──────────────────────────────────────────────
// 7. Home / Dashboard
// ──────────────────────────────────────────────
function ScreenHome({ go, gamification = 'light' }) {
  // wear pattern today: a few in/out gaps simulating real day
  const segments = [
  { type: 'wearing', startMin: 0, endMin: 7 * 60 + 30 },
  { type: 'wearing', startMin: 8 * 60 + 5, endMin: 12 * 60 + 12 },
  { type: 'wearing', startMin: 12 * 60 + 38, endMin: 18 * 60 + 45 },
  { type: 'wearing', startMin: 19 * 60 + 15, endMin: 21 * 60 + 24 }];

  const wornMin = segments.reduce((s, x) => s + (x.endMin - x.startMin), 0);
  const targetMin = 22 * 60;
  const pct = Math.round(wornMin / targetMin * 100);
  const remaining = Math.max(targetMin - wornMin, 0);
  const remH = Math.floor(remaining / 60),remM = remaining % 60;
  const wornH = Math.floor(wornMin / 60),wornM = wornMin % 60;

  const week = [21.8, 22.4, 20.1, 22.6, 19.4, 22.9, +(wornMin / 60).toFixed(1)];

  return (
    <div className="pp-screen" style={{ height: '100%', display: 'flex', flexDirection: 'column', overflowY: 'auto' }}>
      {/* Sticky status strip */}
      <div style={{
        position: 'sticky', top: 0, zIndex: 5,
        padding: '56px 22px 14px',
        background: 'var(--t-sticky-grad)',
        backdropFilter: 'blur(12px)', WebkitBackdropFilter: 'blur(12px)',
        display: 'flex', alignItems: 'center', justifyContent: 'space-between'
      }}>
        <div>
          <Eyebrow>Today · Wed</Eyebrow>
          <div style={{ fontSize: 22, fontWeight: 500, letterSpacing: '-0.02em', marginTop: 4 }}>Hi, Jordan</div>
        </div>
        <div style={{ display: 'flex', alignItems: 'center', gap: 8 }}>
          <StatusPill status="wearing" />
          <button onClick={() => go('notifications')} aria-label="Notifications" style={{ position: 'relative', width: 36, height: 36, borderRadius: '50%', background: 'var(--t-quiet)', border: 0, color: 'var(--t-fg-1)', cursor: 'pointer', display: 'flex', alignItems: 'center', justifyContent: 'center' }}>
            <svg width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.75" strokeLinecap="round" strokeLinejoin="round"><path d="M18 8a6 6 0 0 0-12 0c0 7-3 9-3 9h18s-3-2-3-9" /><path d="M13.73 21a2 2 0 0 1-3.46 0" /></svg>
            <span style={{ position: 'absolute', top: 6, right: 7, width: 8, height: 8, borderRadius: '50%', background: '#1FB8E0', boxShadow: '0 0 0 2px var(--t-status-bullet-ring)' }} />
          </button>
        </div>
      </div>

      <div style={{ padding: '4px 22px 110px', display: 'flex', flexDirection: 'column', gap: 18 }}>
        {/* Hero ring */}
        <div style={{ display: 'flex', justifyContent: 'center', padding: '8px 0 0' }}>
          <WearRing pct={pct} size={264}>
            <Eyebrow style={{ marginBottom: 8 }}>Worn</Eyebrow>
            <div style={{ fontSize: 64, fontWeight: 500, letterSpacing: '-0.04em', lineHeight: 1, fontVariantNumeric: 'tabular-nums' }}>
              {wornH}<span style={{ fontSize: 36, color: 'var(--t-fg-3)' }}>h</span> {String(wornM).padStart(2, '0')}<span style={{ fontSize: 24, color: 'var(--t-fg-3)' }}>m</span>
            </div>
            <div style={{ fontSize: 13, color: 'var(--t-fg-3)', marginTop: 10, fontVariantNumeric: 'tabular-nums' }}>
              of 22h · {pct}%
            </div>
          </WearRing>
        </div>

        <div style={{ textAlign: 'center', marginTop: -2 }}>
          <div style={{ fontSize: 17, color: 'var(--t-fg-1)', fontWeight: 500, letterSpacing: '-0.01em' }}>You're on track today.</div>
          <div style={{ fontSize: 13, color: 'var(--t-fg-3)', marginTop: 4, fontVariantNumeric: 'tabular-nums' }}>
            {remH > 0 ? `${remH}h ` : ''}{remM}m to reach your daily target.
          </div>
        </div>

        {/* Today's timeline */}
        <Card>
          <div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center', marginBottom: 12 }}>
            <Eyebrow>Today's wear</Eyebrow>
            <span style={{ fontSize: 11, color: 'var(--t-fg-muted)', fontVariantNumeric: 'tabular-nums' }}>4 sessions · 4 gaps</span>
          </div>
          <DayTimeline segments={segments} now={21 * 60 + 30} />
        </Card>

        {/* Two-up: streak + week */}
        <div style={{ display: 'grid', gridTemplateColumns: '1fr 1fr', gap: 10 }}>
          <Card>
            <Eyebrow style={{ marginBottom: 10 }}>Streak</Eyebrow>
            <div style={{ fontSize: 34, fontWeight: 500, letterSpacing: '-0.025em', lineHeight: 1, fontVariantNumeric: 'tabular-nums' }}>
              12<span style={{ fontSize: 14, color: 'var(--t-fg-3)', marginLeft: 5 }}>days</span>
            </div>
            <div style={{ fontSize: 11, color: 'var(--t-fg-muted)', marginTop: 8, lineHeight: 1.4 }}>
              {gamification === 'none' ? 'Days at or above 22h' : 'Longest stretch yet'}
            </div>
            {gamification !== 'none' &&
            <div style={{ display: 'flex', gap: 3, marginTop: 12 }}>
                {[...Array(12)].map((_, i) =>
              <div key={i} style={{ flex: 1, height: 4, borderRadius: 2, background: 'linear-gradient(90deg,#1FB8E0,#3CBF9E)', opacity: 0.4 + i / 12 * 0.6 }} />
              )}
              </div>
            }
          </Card>

          <Card>
            <Eyebrow style={{ marginBottom: 10 }}>This week</Eyebrow>
            <div style={{ fontSize: 34, fontWeight: 500, letterSpacing: '-0.025em', lineHeight: 1, fontVariantNumeric: 'tabular-nums' }}>
              97<span style={{ fontSize: 14, color: 'var(--t-fg-3)', marginLeft: 2 }}>%</span>
            </div>
            <div style={{ marginTop: 12 }}>
              <MiniBars values={week} target={22} height={36} />
            </div>
          </Card>
        </div>

        {/* Tray progress */}
        <Card>
          <div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'flex-start', marginBottom: 14 }}>
            <div>
              <Eyebrow style={{ marginBottom: 8 }}>Current tray</Eyebrow>
              <div style={{ fontSize: 30, fontWeight: 500, letterSpacing: '-0.025em', lineHeight: 1, fontVariantNumeric: 'tabular-nums' }}>
                14 <span style={{ fontSize: 16, color: 'var(--t-fg-3)' }}>/ 28</span>
              </div>
            </div>
            <div style={{ textAlign: 'right' }}>
              <Eyebrow style={{ marginBottom: 8 }}>Switches</Eyebrow>
              <div style={{ fontSize: 30, fontWeight: 500, letterSpacing: '-0.025em', lineHeight: 1, fontVariantNumeric: 'tabular-nums' }}>
                tomorrow
              </div>
            </div>
          </div>
          <div style={{ height: 4, background: 'var(--t-quiet-3)', borderRadius: 2, overflow: 'hidden' }}>
            <div style={{ height: '100%', width: '85%', background: 'linear-gradient(90deg,#1FB8E0,#3CBF9E)', borderRadius: 2 }} />
          </div>
          <div style={{ fontSize: 11, color: 'var(--t-fg-muted)', marginTop: 10 }}>Day 6 of 7 · halfway through your plan</div>
        </Card>

        {/* Case status */}
        <Card>
          <div style={{ display: 'flex', alignItems: 'center', gap: 14 }}>
            <CaseGlyph size={56} />
            <div style={{ flex: 1, minWidth: 0 }}>
              <div style={{ fontSize: 14, fontWeight: 500 }}>Your case</div>
              <div style={{ fontSize: 12, color: 'var(--t-fg-3)', marginTop: 2 }}>Battery 84% · 3.5m away</div>
            </div>
            <button onClick={() => go('quick')} style={{ background: 'var(--t-quiet)', color: 'var(--t-fg-1)', border: 0, padding: '8px 12px', borderRadius: 10, fontSize: 12, fontWeight: 500, cursor: 'pointer' }}>Adjust</button>
          </div>
        </Card>
      </div>

      {/* Tab bar */}
      <div style={{ position: 'absolute', left: 0, right: 0, bottom: 0, background: 'var(--t-tabbar-bg)', backdropFilter: 'blur(20px)', WebkitBackdropFilter: 'blur(20px)', borderTop: '1px solid var(--t-divider)', padding: '10px 14px 24px', display: 'flex', justifyContent: 'space-around' }}>
        {[
        { id: 'home', label: 'Today', active: true, icon: <path d="M3 11.5L12 4l9 7.5V20a1 1 0 0 1-1 1h-5v-7H9v7H4a1 1 0 0 1-1-1z" /> },
        { id: 'insights', label: 'Insights', icon: <><line x1="4" y1="20" x2="4" y2="12" /><line x1="10" y1="20" x2="10" y2="6" /><line x1="16" y1="20" x2="16" y2="14" /><line x1="22" y1="20" x2="2" y2="20" /></> },
        { id: 'progress', label: 'Progress', icon: <><rect x="3" y="3" width="18" height="18" rx="2" /><circle cx="12" cy="13" r="3.5" /><path d="M8 7l1.5-2h5L16 7" /></> },
        { id: 'settings', label: 'You', icon: <><circle cx="12" cy="8" r="4" /><path d="M4 21c0-4.4 3.6-8 8-8s8 3.6 8 8" /></> }].
        map((t) =>
        <div key={t.id} onClick={() => go(t.id)} style={{ flex: 1, display: 'flex', flexDirection: 'column', alignItems: 'center', gap: 4, cursor: 'pointer', padding: '4px 0' }}>
            <svg width="22" height="22" viewBox="0 0 24 24" fill={t.active && t.id === 'home' ? '#1FB8E0' : 'none'} stroke={t.active ? '#1FB8E0' : 'var(--t-fg-muted)'} strokeWidth="1.75" strokeLinecap="round" strokeLinejoin="round">{t.icon}</svg>
            <div style={{ fontSize: 10, color: t.active ? '#1FB8E0' : 'var(--t-fg-muted)', fontWeight: t.active ? 500 : 400, letterSpacing: '0.02em' }}>{t.label}</div>
          </div>
        )}
      </div>
    </div>);

}

Object.assign(window, { ScreenWelcome, ScreenSignIn, ScreenFind, ScreenScan, ScreenFound, ScreenPaired, ScreenHome });