PageSourceSearch

https://readlingo.app/

html readlingo.app collected 2026-10-02 01:14:42 UTC 93,759 bytes, 1,439 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3<head>
4<meta charset="UTF-8">
5<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
6<title>ReadLingo — Learn languages while you browse</title>
7<meta name="description" content="A Chrome extension that turns every page you read into vocabulary practice. Translate with a click, review with spaced repetition, remember forever.">
8<meta property="og:title" content="ReadLingo — Learn languages while you browse">
9<meta property="og:description" content="Translate words on any webpage. Build vocabulary with spaced repetition. Remember forever.">
10<meta property="og:type" content="website">
11<meta property="og:url" content="https://readlingo.app">
12<meta name="theme-color" content="#0a0a12">
13<link rel="icon" type="image/svg+xml" href="/favicon.svg">
14<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32.png">
15<link rel="icon" type="image/x-icon" href="/favicon.ico">
16<link rel="apple-touch-icon" sizes="180x180" href="/favicon-180.png">
17<link rel="preconnect" href="https://fonts.googleapis.com">
18<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
19<link href="https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght,SOFT@0,9..144,300..900,0..100;1,9..144,300..900,0..100&family=Manrope:wght@300;400;500;600;700;800&display=swap" rel="stylesheet">
20<style>
21  :root {
22    --ink: #0a0a12;
23    --ink-2: #0f0f1b;
24    --ink-3: #14142a;
25    --ink-elev: #1a1a2e;
26    --ink-hi: #242440;
27    --line: rgba(255, 255, 255, 0.08);
28    --line-strong: rgba(255, 224, 102, 0.22);
29    --paper: #f2f0e6;
30    --paper-2: #a0a0b4;
31    --paper-3: #6a6a80;
32    --paper-4: #45455c;
33    --gold: #ffe066;
34    --gold-2: #d4a017;
35    --gold-3: #8b6508;
36    --gold-soft: rgba(255, 224, 102, 0.12);
37    --gold-ring: rgba(255, 224, 102, 0.3);
38    --mint: #8be9c1;
39    --rose: #ff8a9b;
40    --radius-sm: 8px;
41    --radius: 14px;
42    --radius-lg: 22px;
43    --maxw: 1220px;
44    --nav-h: 72px;
45    --serif: "Fraunces", "Iowan Old Style", "Palatino", Georgia, serif;
46    --sans: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
47    --ease: cubic-bezier(0.2, 0.8, 0.2, 1);
48    --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
49  }
50
51  html.light {
52    --ink: #fbf8f0;
53    --ink-2: #f3ede0;
54    --ink-3: #ffffff;
55    --ink-elev: #ffffff;
56    --ink-hi: #f5f0e2;
57    --line: rgba(20, 20, 42, 0.1);
58    --line-strong: rgba(139, 101, 8, 0.35);
59    --paper: #14142a;
60    --paper-2: #4a4a60;
61    --paper-3: #6e6e84;
62    --paper-4: #9a9ab0;
63    --gold: #a07808;
64    --gold-2: #8b6508;
65    --gold-3: #6a4e06;
66    --gold-soft: rgba(139, 101, 8, 0.08);
67    --gold-ring: rgba(139, 101, 8, 0.25);
68  }
69
70  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
71  html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
72  body {
73    background: var(--ink);
74    color: var(--paper);
75    font-family: var(--sans);
76    font-size: 16px;
77    line-height: 1.55;
78    -webkit-font-smoothing: antialiased;
79    text-rendering: optimizeLegibility;
80    overflow-x: hidden;
81  }
82
83  /* Atmospheric bg: vignette + grain */
84  body::before {
85    content: "";
86    position: fixed;
87    inset: 0;
88    background:
89      radial-gradient(60% 40% at 10% -10%, rgba(255, 224, 102, 0.08), transparent 60%),
90      radial-gradient(50% 40% at 100% 20%, rgba(139, 233, 193, 0.04), transparent 60%);
91    pointer-events: none;
92    z-index: 0;
93  }
94  html.light body::before {
95    background:
96      radial-gradient(60% 40% at 10% -10%, rgba(212, 160, 23, 0.12), transparent 60%),
97      radial-gradient(50% 40% at 100% 20%, rgba(60, 130, 100, 0.06), transparent 60%);
98  }
99  body::after {
100    content: "";
101    position: fixed;
102    inset: 0;
103    background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 300 300' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.4 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
104    opacity: 0.05;
105    pointer-events: none;
106    z-index: 1;
107    mix-blend-mode: overlay;
108  }
109  html.light body::after { opacity: 0.3; mix-blend-mode: multiply; }
110
111  a { color: inherit; text-decoration: none; }
112  button { font-family: inherit; font-size: inherit; cursor: pointer; border: none; background: none; color: inherit; }
113  img, svg { display: block; max-width: 100%; }
114
115  /* Typography */
116  h1, h2, h3 {
117    font-family: var(--serif);
118    font-weight: 350;
119    letter-spacing: -0.02em;
120    line-height: 1.04;
121    font-variation-settings: "opsz" 144, "SOFT" 50;
122  }
123  h1 em, h2 em, h3 em {
124    font-style: italic;
125    font-variation-settings: "opsz" 144, "SOFT" 100;
126    color: var(--gold);
127  }
128  .mono { font-variant-numeric: tabular-nums; font-feature-settings: "tnum"; }
129
130  /* Container */
131  .wrap { max-width: var(--maxw); margin: 0 auto; padding: 0 28px; position: relative; z-index: 2; }
132
133  /* Skip link */
134  .skip { position: absolute; left: -9999px; top: 0; }
135  .skip:focus { left: 16px; top: 16px; background: var(--gold); color: var(--ink); padding: 10px 16px; border-radius: 8px; z-index: 200; }
136
137  /* ===================== NAV ===================== */
138  header.nav {
139    position: sticky;
140    top: 0;
141    z-index: 50;
142    background: color-mix(in srgb, var(--ink) 85%, transparent);
143    backdrop-filter: saturate(1.6) blur(14px);
144    -webkit-backdrop-filter: saturate(1.6) blur(14px);
145    border-bottom: 1px solid var(--line);
146  }
147  .nav-inner {
148    display: flex;
149    align-items: center;
150    justify-content: space-between;
151    height: var(--nav-h);
152    gap: 20px;
153  }
154  .brand {
155    display: inline-flex;
156    align-items: center;
157    gap: 12px;
158    font-weight: 700;
159    font-size: 18px;
160    letter-spacing: -0.01em;
161    color: var(--paper);
162  }
163  .brand-mark {
164    width: 34px; height: 34px;
165    border-radius: 8px;
166    background: linear-gradient(135deg, var(--gold), var(--gold-2));
167    display: grid;
168    place-items: center;
169    font-family: var(--sans);
170    font-weight: 800;
171    font-size: 18px;
172    letter-spacing: 0;
173    color: #0d0d1a;
174  }
175  .nav-links {
176    display: flex;
177    gap: 26px;
178    align-items: center;
179  }
180  .nav-links a {
181    color: var(--paper-2);
182    font-weight: 500;
183    font-size: 14px;
184    padding: 8px 2px;
185    position: relative;
186    transition: color 0.2s var(--ease);
187  }
188  .nav-links a::after {
189    content: "";
190    position: absolute;
191    left: 2px; right: 2px; bottom: 4px;
192    height: 1px;
193    background: var(--gold);
194    transform: scaleX(0);
195    transform-origin: left;
196    transition: transform 0.35s var(--ease-out);
197  }
198  .nav-links a:hover { color: var(--paper); }
199  .nav-links a:hover::after { transform: scaleX(1); }
200
201  .nav-ctrls { display: flex; align-items: center; gap: 10px; }
202  .ctrl {
203    height: 36px;
204    padding: 0 12px;
205    border-radius: 10px;
206    border: 1px solid var(--line);
207    background: var(--ink-3);
208    color: var(--paper-2);
209    font-size: 13px;
210    font-weight: 500;
211    display: inline-flex;
212    align-items: center;
213    gap: 6px;
214    transition: border-color 0.2s, color 0.2s;
215  }
216  .ctrl:hover { color: var(--paper); border-color: var(--line-strong); }
217  .ctrl-select { padding-right: 8px; appearance: none; -webkit-appearance: none; background-image: none; cursor: pointer; }
218  .ctrl-btn { width: 36px; padding: 0; justify-content: center; }
219  .ctrl-btn svg { width: 16px; height: 16px; stroke: currentColor; }
220
221  .nav-cta {
222    display: inline-flex;
223    align-items: center;
224    gap: 8px;
225    height: 36px;
226    padding: 0 16px;
227    border-radius: 10px;
228    background: linear-gradient(135deg, var(--gold), var(--gold-2));
229    color: var(--ink);
230    font-weight: 700;
231    font-size: 13.5px;
232    letter-spacing: -0.01em;
233    white-space: nowrap;
234    transition: transform 0.25s var(--ease-out), box-shadow 0.25s var(--ease-out);
235    box-shadow: 0 4px 14px -6px var(--gold-ring);
236  }
237  .nav-cta:hover { transform: translateY(-1px); box-shadow: 0 10px 24px -8px var(--gold-ring); }
238
239  .hamburger {
240    display: none;
241    width: 44px; height: 44px;
242    border: 1px solid var(--line);
243    border-radius: 10px;
244    background: var(--ink-3);
245    align-items: center; justify-content: center;
246  }
247  .hamburger span {
248    position: relative;
249    width: 18px; height: 1.5px;
250    background: var(--paper);
251    display: block;
252    transition: transform 0.3s var(--ease), opacity 0.3s;
253  }
254  .hamburger span::before, .hamburger span::after {
255    content: "";
256    position: absolute;
257    left: 0;
258    width: 100%; height: 100%;
259    background: var(--paper);
260    transition: transform 0.3s var(--ease);
261  }
262  .hamburger span::before { top: -6px; }
263  .hamburger span::after { top: 6px; }
264  body.menu-open .hamburger span { background: transparent; }
265  body.menu-open .hamburger span::before { transform: translateY(6px) rotate(45deg); }
266  body.menu-open .hamburger span::after { transform: translateY(-6px) rotate(-45deg); }
267
268  /* Mobile drawer */
269  .drawer {
270    position: fixed;
271    inset: var(--nav-h) 0 0 0;
272    background: color-mix(in srgb, var(--ink) 96%, transparent);
273    backdrop-filter: blur(20px);
274    -webkit-backdrop-filter: blur(20px);
275    z-index: 40;
276    padding: 24px 28px 40px;
277    transform: translateY(-8px);
278    opacity: 0;
279    pointer-events: none;
280    transition: opacity 0.25s var(--ease), transform 0.25s var(--ease);
281    overflow-y: auto;
282  }
283  body.menu-open .drawer {
284    opacity: 1;
285    transform: translateY(0);
286    pointer-events: auto;
287  }
288  .drawer-links {
289    display: flex;
290    flex-direction: column;
291    gap: 2px;
292    margin-bottom: 24px;
293  }
294  .drawer-links a {
295    font-family: var(--serif);
296    font-size: 28px;
297    font-weight: 350;
298    letter-spacing: -0.02em;
299    padding: 14px 0;
300    border-bottom: 1px solid var(--line);
301    color: var(--paper);
302  }
303  .drawer-bottom {
304    display: flex;
305    flex-direction: column;
306    gap: 14px;
307  }
308  .drawer-bottom .ctrl,
309  .drawer-bottom .nav-cta {
310    height: 48px;
311    font-size: 15px;
312    justify-content: center;
313    width: 100%;
314  }
315  .drawer-bottom .ctrl-select { padding: 0 14px; }
316  .drawer-row {
317    display: flex;
318    gap: 10px;
319  }
320  .drawer-row .ctrl { flex: 1; }
321
322  /* ===================== HERO ===================== */
323  .hero {
324    padding: clamp(56px, 10vw, 120px) 0 clamp(60px, 8vw, 90px);
325    position: relative;
326  }
327  .hero-grid {
328    display: grid;
329    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
330    gap: clamp(32px, 5vw, 80px);
331    align-items: center;
332  }
333
334  .hero-eyebrow {
335    display: inline-flex;
336    align-items: center;
337    gap: 10px;
338    font-size: 12px;
339    font-weight: 600;
340    letter-spacing: 0.16em;
341    text-transform: uppercase;
342    color: var(--paper-2);
343    margin-bottom: 28px;
344  }
345  .hero-eyebrow::before {
346    content: "";
347    width: 24px; height: 1px;
348    background: var(--gold);
349  }
350
351  .hero h1 {
352    font-size: clamp(2.5rem, 6.2vw, 5rem);
353    margin-bottom: 28px;
354  }
355  .hero p.sub {
356    font-size: clamp(1.05rem, 1.3vw + 0.4rem, 1.25rem);
357    color: var(--paper-2);
358    max-width: 46ch;
359    margin-bottom: 36px;
360    line-height: 1.55;
361  }
362
363  .hero-cta {
364    display: flex;
365    flex-wrap: wrap;
366    gap: 14px;
367    align-items: center;
368    margin-bottom: 28px;
369  }
370  .btn {
371    display: inline-flex;
372    align-items: center;
373    gap: 10px;
374    height: 52px;
375    padding: 0 24px;
376    border-radius: 12px;
377    font-size: 15px;
378    font-weight: 600;
379    letter-spacing: -0.005em;
380    transition: transform 0.2s var(--ease-out), box-shadow 0.2s, background 0.2s, color 0.2s, border-color 0.2s;
381    white-space: nowrap;
382  }
383  .btn-gold {
384    background: linear-gradient(135deg, var(--gold), var(--gold-2));
385    color: var(--ink);
386    font-weight: 700;
387    box-shadow: 0 10px 30px -12px var(--gold-ring), inset 0 -2px 0 rgba(0, 0, 0, 0.1);
388  }
389  .btn-gold:hover { transform: translateY(-2px); box-shadow: 0 18px 40px -14px var(--gold-ring); }
390  .btn-ghost {
391    background: transparent;
392    color: var(--paper);
393    border: 1px solid var(--line);
394  }
395  .btn-ghost:hover { border-color: var(--line-strong); color: var(--gold); }
396
397  .hero-note {
398    color: var(--paper-3);
399    font-size: 13px;
400  }
401  .hero-note strong { color: var(--paper-2); font-weight: 600; }
402
403  .hero-trust {
404    margin-top: 44px;
405    display: flex;
406    gap: 36px;
407    flex-wrap: wrap;
408  }
409  .trust {
410    display: flex;
411    flex-direction: column;
412    gap: 4px;
413  }
414  .trust-num {
415    font-family: var(--serif);
416    font-size: 28px;
417    font-weight: 400;
418    color: var(--gold);
419    letter-spacing: -0.02em;
420  }
421  .trust-lbl {
422    font-size: 12px;
423    color: var(--paper-3);
424    text-transform: uppercase;
425    letter-spacing: 0.1em;
426    font-weight: 500;
427  }
428
429  /* Hero mockup */
430  .hero-visual {
431    position: relative;
432    perspective: 1400px;
433  }
434  .browser {
435    position: relative;
436    border-radius: 14px;
437    background: var(--ink-elev);
438    border: 1px solid var(--line);
439    box-shadow:
440      0 30px 80px -20px rgba(0, 0, 0, 0.55),
441      0 10px 30px -10px rgba(0, 0, 0, 0.4);
442    overflow: visible;
443    transform: rotate(-1deg);
444  }
445  html.light .browser {
446    box-shadow: 0 30px 80px -20px rgba(20, 20, 42, 0.2), 0 10px 30px -10px rgba(20, 20, 42, 0.1);
447  }
448  .browser-chrome {
449    display: flex;
450    align-items: center;
451    gap: 14px;
452    padding: 12px 16px;
453    border-bottom: 1px solid var(--line);
454    background: var(--ink-3);
455    border-radius: 14px 14px 0 0;
456  }
457  .dots { display: inline-flex; gap: 6px; }
458  .dots span { width: 11px; height: 11px; border-radius: 50%; background: var(--ink-hi); }
459  .dots span:nth-child(1) { background: #ff6159; }
460  .dots span:nth-child(2) { background: #ffbe2e; }
461  .dots span:nth-child(3) { background: #28c940; }
462  .url {
463    flex: 1;
464    min-width: 0;
465    height: 28px;
466    border-radius: 8px;
467    background: var(--ink);
468    display: flex;
469    align-items: center;
470    gap: 8px;
471    padding: 0 12px;
472    font-size: 12px;
473    color: var(--paper-3);
474    overflow: hidden;
475  }
476  .url svg { width: 11px; height: 11px; stroke: var(--paper-3); flex-shrink: 0; }
477  .url-path { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
478
479  .browser-body {
480    padding: 32px 34px 40px;
481    background: var(--ink-elev);
482    border-radius: 0 0 14px 14px;
483    font-family: var(--serif);
484    font-size: 17px;
485    line-height: 1.7;
486    color: var(--paper);
487    font-weight: 350;
488  }
489  html.light .browser-body { background: #fafaf7; color: #1a1a2e; }
490  .browser-body p { margin-bottom: 14px; }
491  .browser-body p:last-of-type { margin-bottom: 0; }
492  .highlight {
493    position: relative;
494    background: linear-gradient(180deg, transparent 60%, rgba(255, 224, 102, 0.35) 60%);
495    padding: 2px 3px;
496    border-radius: 2px;
497    color: var(--gold);
498    font-weight: 500;
499    font-style: italic;
500    font-variation-settings: "opsz" 144, "SOFT" 100, "WONK" 1;
501    cursor: pointer;
502  }
503  html.light .highlight {
504    background: linear-gradient(180deg, transparent 60%, rgba(212, 160, 23, 0.25) 60%);
505    color: var(--gold-2);
506  }
507  .popup {
508    position: absolute;
509    top: 58%;
510    right: -18px;
511    transform: translateX(20%) rotate(2deg);
512    width: 240px;
513    background: var(--ink-3);
514    border: 1px solid var(--line-strong);
515    border-radius: 14px;
516    padding: 16px 18px;
517    box-shadow: 0 20px 50px -12px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(255, 224, 102, 0.05);
518    z-index: 3;
519    font-family: var(--sans);
520    animation: float 5s ease-in-out infinite;
521  }
522  html.light .popup {
523    background: #fff;
524    box-shadow: 0 20px 50px -12px rgba(20, 20, 42, 0.2);
525  }
526  @keyframes float { 0%, 100% { transform: translateX(20%) rotate(2deg) translateY(0); } 50% { transform: translateX(20%) rotate(2deg) translateY(-6px); } }
527  @media (prefers-reduced-motion: reduce) { .popup { animation: none; } }
528
529  .popup-head {
530    display: flex;
531    align-items: baseline;
532    gap: 10px;
533    margin-bottom: 4px;
534  }
535  .popup-word {
536    font-family: var(--serif);
537    font-size: 22px;
538    font-weight: 400;
539    color: var(--paper);
540    letter-spacing: -0.01em;
541  }
542  .popup-ipa {
543    font-size: 12px;
544    color: var(--paper-3);
545    font-family: ui-monospace, "SF Mono", Menlo, monospace;
546  }
547  .popup-arrow {
548    font-size: 11px;
549    color: var(--paper-3);
550    letter-spacing: 0.1em;
551    text-transform: uppercase;
552    font-weight: 600;
553    margin-bottom: 4px;
554  }
555  .popup-trans {
556    font-size: 18px;
557    color: var(--gold);
558    font-weight: 500;
559    margin-bottom: 14px;
560  }
561  .popup-actions {
562    display: flex;
563    gap: 6px;
564  }
565  .popup-btn {
566    flex: 1;
567    height: 30px;
568    border-radius: 7px;
569    font-size: 11.5px;
570    font-weight: 600;
571    color: var(--paper);
572    background: var(--ink-hi);
573    border: 1px solid var(--line);
574    display: inline-flex;
575    align-items: center;
576    justify-content: center;
577    gap: 5px;
578    transition: all 0.2s;
579  }
580  .popup-btn.primary {
581    background: linear-gradient(135deg, var(--gold), var(--gold-2));
582    color: var(--ink);
583    border-color: transparent;
584  }
585  .popup-badge {
586    position: absolute;
587    top: -9px; left: 14px;
588    background: var(--gold);
589    color: var(--ink);
590    font-size: 10px;
591    font-weight: 700;
592    padding: 3px 8px;
593    border-radius: 999px;
594    letter-spacing: 0.04em;
595  }
596
597  /* Orbiting flags around mockup */
598  .orbit-chip {
599    position: absolute;
600    background: var(--ink-3);
601    border: 1px solid var(--line);
602    border-radius: 999px;
603    padding: 8px 14px;
604    font-size: 12px;
605    font-weight: 600;
606    color: var(--paper-2);
607    display: inline-flex;
608    align-items: center;
609    gap: 8px;
610    box-shadow: 0 10px 24px -12px rgba(0, 0, 0, 0.6);
611    z-index: 2;
612  }
613  .orbit-chip::before {
614    content: "";
615    width: 6px; height: 6px;
616    border-radius: 50%;
617    background: var(--gold);
618    box-shadow: 0 0 8px var(--gold);
619  }
620  .orbit-1 { top: -14px; left: -18px; transform: rotate(-4deg); }
621  .orbit-2 { bottom: 40px; left: -32px; transform: rotate(3deg); }
622
623  /* ===================== SECTION HEAD ===================== */
624  section { padding: clamp(60px, 10vw, 120px) 0; position: relative; }
625  .section-head {
626    max-width: 720px;
627    margin: 0 auto 64px;
628    text-align: center;
629  }
630  .eyebrow {
631    display: inline-flex;
632    align-items: center;
633    gap: 10px;
634    font-size: 12px;
635    font-weight: 600;
636    letter-spacing: 0.16em;
637    text-transform: uppercase;
638    color: var(--paper-3);
639    margin-bottom: 22px;
640  }
641  .eyebrow::before, .eyebrow::after {
642    content: "";
643    width: 24px; height: 1px;
644    background: var(--gold);
645  }
646  .section-head h2 {
647    font-size: clamp(2rem, 4vw, 3.2rem);
648    margin-bottom: 16px;
649  }
650  .section-head p {
651    color: var(--paper-2);
652    font-size: clamp(1rem, 1.2vw + 0.4rem, 1.15rem);
653    max-width: 56ch;
654    margin: 0 auto;
655  }
656
657  /* ===================== HOW ===================== */
658  .how {
659    background: linear-gradient(180deg, transparent 0%, var(--ink-2) 20%, var(--ink-2) 80%, transparent 100%);
660    border-block: 1px solid var(--line);
661  }
662  .steps {
663    display: grid;
664    grid-template-columns: repeat(3, 1fr);
665    gap: 36px;
666    counter-reset: step;
667  }
668  .step {
669    position: relative;
670    padding: 42px 26px 30px;
671    background: var(--ink-3);
672    border: 1px solid var(--line);
673    border-radius: var(--radius-lg);
674    transition: border-color 0.3s var(--ease), transform 0.3s var(--ease);
675  }
676  .step:hover { border-color: var(--line-strong); transform: translateY(-4px); }
677  .step-num {
678    font-family: var(--serif);
679    font-style: italic;
680    font-variation-settings: "opsz" 144, "SOFT" 100, "WONK" 1;
681    font-weight: 400;
682    font-size: 84px;
683    line-height: 1;
684    color: var(--gold);
685    opacity: 0.95;
686    margin-bottom: 18px;
687    letter-spacing: -0.04em;
688  }
689  .step h3 {
690    font-size: 22px;
691    font-weight: 400;
692    margin-bottom: 10px;
693    font-variation-settings: "opsz" 48, "SOFT" 50;
694  }
695  .step p {
696    color: var(--paper-2);
697    font-size: 15px;
698    line-height: 1.55;
699  }
700
701  /* ===================== FEATURES (BENTO) ===================== */
702  .bento {
703    display: grid;
704    grid-template-columns: repeat(6, 1fr);
705    gap: 18px;
706  }
707  .card {
708    padding: 32px;
709    background: var(--ink-3);
710    border: 1px solid var(--line);
711    border-radius: var(--radius-lg);
712    transition: border-color 0.3s var(--ease), transform 0.3s var(--ease);
713    position: relative;
714    overflow: hidden;
715  }
716  .card:hover {
717    border-color: var(--line-strong);
718    transform: translateY(-3px);
719  }
720  .card::after {
721    content: "";
722    position: absolute;
723    top: 0; left: -40%;
724    width: 70%; height: 100%;
725    background: linear-gradient(90deg, transparent, rgba(255, 224, 102, 0.04), transparent);
726    transform: skewX(-18deg);
727    opacity: 0;
728    transition: opacity 0.5s, left 0.9s var(--ease-out);
729    pointer-events: none;
730  }
731  .card:hover::after { opacity: 1; left: 120%; }
732
733  .card-w6 { grid-column: span 6; }
734  .card-w4 { grid-column: span 4; }
735  .card-w3 { grid-column: span 3; }
736  .card-w2 { grid-column: span 2; }
737
738  .card-pill {
739    display: inline-flex;
740    align-items: center;
741    gap: 6px;
742    font-size: 11px;
743    font-weight: 700;
744    text-transform: uppercase;
745    letter-spacing: 0.08em;
746    padding: 4px 10px;
747    border-radius: 999px;
748    margin-bottom: 18px;
749  }
750  .pill-free { background: rgba(139, 233, 193, 0.12); color: var(--mint); }
751  .pill-pro { background: var(--gold-soft); color: var(--gold); }
752
753  .card h3 {
754    font-size: 22px;
755    font-weight: 400;
756    margin-bottom: 8px;
757    letter-spacing: -0.02em;
758    font-variation-settings: "opsz" 48, "SOFT" 50;
759  }
760  .card p {
761    color: var(--paper-2);
762    font-size: 14.5px;
763    line-height: 1.55;
764  }
765  .card-icon {
766    width: 44px; height: 44px;
767    border-radius: 11px;
768    background: var(--ink-hi);
769    border: 1px solid var(--line);
770    display: grid;
771    place-items: center;
772    margin-bottom: 22px;
773    color: var(--gold);
774  }
775  .card-icon svg { width: 22px; height: 22px; stroke: currentColor; stroke-width: 1.6; fill: none; }
776
777  /* Featured card (big intro feature) */
778  .card.feature-hero {
779    background: linear-gradient(135deg, var(--ink-3), var(--ink-elev));
780    padding: 44px 44px 0;
781    display: grid;
782    grid-template-columns: 1fr 1fr;
783    gap: 40px;
784    align-items: center;
785    overflow: hidden;
786    min-height: 260px;
787  }
788  .feature-hero-text h3 { font-size: 30px; margin-bottom: 14px; }
789  .feature-hero-text p { font-size: 15.5px; max-width: 38ch; }
790  .feature-hero-visual {
791    position: relative;
792    min-height: 220px;
793    align-self: stretch;
794  }
795  .stack {
796    position: absolute;
797    inset: 0;
798  }
799  .stack-card {
800    position: absolute;
801    background: var(--ink-elev);
802    border: 1px solid var(--line);
803    border-radius: 14px;
804    padding: 16px 18px;
805    box-shadow: 0 8px 24px -10px rgba(0, 0, 0, 0.4);
806    min-width: 180px;
807  }
808  html.light .stack-card { background: #fff; box-shadow: 0 8px 24px -10px rgba(20, 20, 42, 0.1); }
809  .stack-card-word { font-family: var(--serif); font-size: 17px; font-weight: 400; margin-bottom: 2px; }
810  .stack-card-trans { font-size: 13px; color: var(--gold); }
811  .stack-card.s1 { top: 0; left: 30px; transform: rotate(-4deg); }
812  .stack-card.s2 { top: 40%; left: 90px; transform: rotate(2deg); }
813  .stack-card.s3 { bottom: 20px; left: 20px; transform: rotate(-2deg); }
814  .stack-card.s3 .stack-card-trans { color: var(--mint); }
815
816  /* ===================== PRICING ===================== */
817  .pricing-wrap {
818    background: linear-gradient(180deg, transparent 0%, var(--ink-2) 50%, transparent 100%);
819    border-block: 1px solid var(--line);
820  }
821  .price-grid {
822    display: grid;
823    grid-template-columns: repeat(2, 1fr);
824    gap: 24px;
825    max-width: 900px;
826    margin: 0 auto;
827  }
828  .plan {
829    background: var(--ink-3);
830    border: 1px solid var(--line);
831    border-radius: var(--radius-lg);
832    padding: 40px 34px;
833    position: relative;
834    transition: border-color 0.3s var(--ease), transform 0.3s var(--ease);
835  }
836  .plan:hover { transform: translateY(-4px); }
837  .plan.featured {
838    border-color: var(--line-strong);
839    background: linear-gradient(180deg, var(--ink-3), var(--ink-elev));
840    box-shadow: 0 40px 80px -30px var(--gold-ring), 0 0 0 1px var(--line-strong);
841  }
842  .plan-label {
843    position: absolute;
844    top: -12px;
845    left: 50%;
846    transform: translateX(-50%);
847    background: linear-gradient(135deg, var(--gold), var(--gold-2));
848    color: var(--ink);
849    font-size: 11px;
850    font-weight: 700;
851    padding: 5px 14px;
852    border-radius: 999px;
853    letter-spacing: 0.08em;
854    text-transform: uppercase;
855  }
856  .plan h3 {
857    font-size: 26px;
858    font-weight: 400;
859    margin-bottom: 6px;
860  }
861  .plan-price {
862    font-family: var(--serif);
863    font-size: 56px;
864    font-weight: 350;
865    letter-spacing: -0.03em;
866    line-height: 1;
867    margin-bottom: 10px;
868    display: flex;
869    align-items: baseline;
870    gap: 6px;
871  }
872  .plan-price small {
873    font-family: var(--sans);
874    font-size: 14px;
875    font-weight: 500;
876    color: var(--paper-3);
877  }
878  .plan-sub {
879    color: var(--paper-2);
880    font-size: 14.5px;
881    padding-bottom: 24px;
882    margin-bottom: 24px;
883    border-bottom: 1px solid var(--line);
884  }
885  .plan-feats {
886    list-style: none;
887    display: flex;
888    flex-direction: column;
889    gap: 10px;
890    margin-bottom: 28px;
891  }
892  .plan-feats li {
893    display: flex;
894    align-items: center;
895    gap: 10px;
896    font-size: 14.5px;
897    color: var(--paper-2);
898  }
899  .plan-feats li svg {
900    width: 18px; height: 18px;
901    color: var(--gold);
902    stroke: currentColor;
903    flex-shrink: 0;
904  }
905
906  .btn-plan {
907    display: flex;
908    justify-content: center;
909    align-items: center;
910    width: 100%;
911    height: 48px;
912    border-radius: 12px;
913    font-size: 14.5px;
914    font-weight: 600;
915    transition: all 0.2s var(--ease-out);
916  }
917  .btn-outline {
918    background: transparent;
919    border: 1px solid var(--line);
920    color: var(--paper);
921  }
922  .btn-outline:hover { border-color: var(--line-strong); color: var(--gold); }
923
924  /* ===================== FOOTER ===================== */
925  footer {
926    padding: 50px 0 40px;
927    border-top: 1px solid var(--line);
928  }
929  .foot {
930    display: flex;
931    align-items: center;
932    justify-content: space-between;
933    gap: 24px;
934    flex-wrap: wrap;
935  }
936  .foot-links {
937    display: flex;
938    gap: 28px;
939    flex-wrap: wrap;
940  }
941  .foot-links a {
942    font-size: 13px;
943    color: var(--paper-2);
944    transition: color 0.2s;
945  }
946  .foot-links a:hover { color: var(--gold); }
947  .foot-copy { font-size: 12px; color: var(--paper-3); }
948
949  /* ===================== REVEAL ANIMATION ===================== */
950  .reveal {
951    opacity: 0;
952    transform: translateY(16px);
953    transition: opacity 0.7s var(--ease-out), transform 0.7s var(--ease-out);
954  }
955  .reveal.in { opacity: 1; transform: translateY(0); }
956  @media (prefers-reduced-motion: reduce) {
957    .reveal { opacity: 1; transform: none; }
958  }
959
960  /* ===================== RESPONSIVE ===================== */
961  @media (max-width: 980px) {
962    .hero-grid { grid-template-columns: 1fr; gap: 48px; }
963    .hero-visual { max-width: 520px; margin: 0 auto; width: 100%; }
964    .bento { grid-template-columns: repeat(4, 1fr); }
965    .card-w6 { grid-column: span 4; }
966    .card-w4 { grid-column: span 4; }
967    .card-w3 { grid-column: span 2; }
968    .card-w2 { grid-column: span 2; }
969    .steps { grid-template-columns: 1fr 1fr; }
970    .step:nth-child(3) { grid-column: span 2; }
971    .feature-hero { grid-template-columns: 1fr; padding: 36px; min-height: auto; }
972    .feature-hero-visual { min-height: 200px; }
973  }
974
975  @media (max-width: 960px) {
976    .nav-links, .nav-ctrls { display: none; }
977    .hamburger { display: inline-flex; }
978  }
979
980  @media (max-width: 720px) {
981    .wrap { padding: 0 20px; }
982    .hero { padding: 40px 0 50px; }
983    .hero h1 { font-size: 2.4rem; line-height: 1.06; }
984    .hero p.sub { font-size: 1rem; margin-bottom: 28px; }
985    .hero-cta { flex-direction: column; align-items: stretch; }
986    .hero-cta .btn { justify-content: center; }
987    .hero-trust { gap: 24px; }
988    .trust-num { font-size: 22px; }
989    .browser { transform: none; }
990    .browser-body { padding: 22px 20px 28px; font-size: 15.5px; line-height: 1.65; }
991    .popup { right: 4px; width: 210px; top: 62%; transform: translateX(0) rotate(2deg); padding: 12px 14px; }
992    @keyframes float { 0%, 100% { transform: translateX(0) rotate(2deg) translateY(0); } 50% { transform: translateX(0) rotate(2deg) translateY(-4px); } }
993    .orbit-1, .orbit-2 { display: none; }
994    .section-head { margin-bottom: 44px; }
995    .section-head h2 { font-size: 2rem; }
996    .steps { grid-template-columns: 1fr; gap: 18px; }
997    .step:nth-child(3) { grid-column: auto; }
998    .step { padding: 32px 24px 26px; }
999    .step-num { font-size: 68px; margin-bottom: 10px; }
1000    .bento { grid-template-columns: 1fr; }
1001    .card-w6, .card-w4, .card-w3, .card-w2 { grid-column: span 1; }
1002    .card { padding: 26px; }
1003    .card h3 { font-size: 20px; }
1004    .feature-hero { padding: 28px; gap: 24px; }
1005    .feature-hero-text h3 { font-size: 24px; }
1006    .feature-hero-visual { min-height: 180px; }
1007    .stack-card { min-width: 150px; padding: 12px 14px; }
1008    .stack-card-word { font-size: 15px; }
1009    .stack-card.s1 { left: 10px; }
1010    .stack-card.s2 { left: 40px; }
1011    .stack-card.s3 { left: 0; }
1012    .price-grid { grid-template-columns: 1fr; gap: 18px; }
1013    .plan { padding: 32px 24px; }
1014    .plan-price { font-size: 44px; }
1015    .foot { flex-direction: column; text-align: center; gap: 18px; }
1016  }
1017
1018  /* RTL */
1019  html[dir="rtl"] .hero-eyebrow::before { margin-right: 0; margin-left: 10px; }
1020  html[dir="rtl"] .popup { right: auto; left: -18px; transform: translateX(-20%) rotate(-2deg); }
1021</style>
1022</head>
1023<body>
1024
1025<a class="skip" href="#main">Skip to content</a>
1026
1027<header class="nav">
1028  <div class="wrap nav-inner">
1029    <a href="#" class="brand" aria-label="ReadLingo home">
1030      <span class="brand-mark">R</span>
1031      ReadLingo
1032    </a>
1033    <nav class="nav-links" aria-label="Primary">
1034      <a href="#features" data-t="nav.features">Features</a>
1035      <a href="#how" data-t="nav.how">How it works</a>
1036      <a href="#pricing" data-t="nav.pricing">Pricing</a>
1037      <a href="affiliates.html" data-t="nav.affiliates">Affiliates</a>
1038    </nav>
1039    <div class="nav-ctrls">
1040      <select class="ctrl ctrl-select" id="lang-select" aria-label="Language">
1041        <option value="en">EN</option><option value="pt">PT</option><option value="es">ES</option><option value="fr">FR</option><option value="de">DE</option><option value="it">IT</option><option value="ja">JA</option><option value="ko">KO</option><option value="zh">ZH</option><option value="ru">RU</option><option value="ar">AR</option><option value="hi">HI</option><option value="tr">TR</option><option value="pl">PL</option><option value="nl">NL</option><option value="sv">SV</option>
1042      </select>
1043      <button class="ctrl ctrl-btn" id="theme-toggle" aria-label="Toggle theme">
1044        <svg viewBox="0 0 24 24" fill="none" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="4"/><path d="M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4"/></svg>
1045      </button>
1046      <a href="https://chromewebstore.google.com/detail/readlingo/cfojmfdiagndidcgmapangdgmlmfmmna" class="nav-cta" data-t="hero.cta">Add to Chrome</a>
1047    </div>
1048    <button class="hamburger" id="hamburger" aria-label="Menu" aria-controls="drawer" aria-expanded="false"><span></span></button>
1049  </div>
1050</header>
1051
1052<div class="drawer" id="drawer" aria-hidden="true">
1053  <div class="wrap">
1054    <div class="drawer-links">
1055      <a href="#features" data-t="nav.features">Features</a>
1056      <a href="#how" data-t="nav.how">How it works</a>
1057      <a href="#pricing" data-t="nav.pricing">Pricing</a>
1058      <a href="affiliates.html" data-t="nav.affiliates">Affiliates</a>
1059    </div>
1060    <div class="drawer-bottom">
1061      <a href="https://chromewebstore.google.com/detail/readlingo/cfojmfdiagndidcgmapangdgmlmfmmna" class="nav-cta" data-t="hero.cta">Add to Chrome — Free</a>
1062      <div class="drawer-row">
1063        <select class="ctrl ctrl-select" id="lang-select-m" aria-label="Language">
1064          <option value="en">English</option><option value="pt">Português</option><option value="es">Español</option><option value="fr">Français</option><option value="de">Deutsch</option><option value="it">Italiano</option><option value="ja">日本語</option><option value="ko">한국어</option><option value="zh">中文</option><option value="ru">Русский</option><option value="ar">العربية</option><option value="hi">हिन्दी</option><option value="tr">Türkçe</option><option value="pl">Polski</option><option value="nl">Nederlands</option><option value="sv">Svenska</option>
1065        </select>
1066        <button class="ctrl ctrl-btn" id="theme-toggle-m" aria-label="Toggle theme" style="width: 56px;">
1067          <svg viewBox="0 0 24 24" fill="none" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="4"/><path d="M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4"/></svg>
1068        </button>
1069      </div>
1070    </div>
1071  </div>
1072</div>
1073
1074<main id="main">
1075
1076  <!-- HERO -->
1077  <section class="hero">
1078    <div class="wrap hero-grid">
1079      <div class="hero-text reveal">
1080        <div class="hero-eyebrow" data-t="hero.badge">Chrome extension · 100+ languages</div>
1081        <h1 data-t="hero.title">Learn languages <em>while you browse</em>.</h1>
1082        <p class="sub" data-t="hero.subtitle">Translate any word on any webpage with a click. Save it as a flashcard. Review with spaced repetition. Actually remember it.</p>
1083        <div class="hero-cta">
1084          <a href="https://chromewebstore.google.com/detail/readlingo/cfojmfdiagndidcgmapangdgmlmfmmna" class="btn btn-gold" data-t="hero.cta">Add to Chrome — Free</a>
1085          <a href="#how" class="btn btn-ghost" data-t="hero.cta_alt">See how it works</a>
1086        </div>
1087        <p class="hero-note" data-t="hero.note"><strong>Free forever.</strong> Try Premium 7 days, then $3/month.</p>
1088        <div class="hero-trust">
1089          <div class="trust"><span class="trust-num">100+</span><span class="trust-lbl" data-t="trust.langs">Languages</span></div>
1090          <div class="trust"><span class="trust-num">3</span><span class="trust-lbl" data-t="trust.clicks">Clicks to translate</span></div>
1091          <div class="trust"><span class="trust-num">&infin;</span><span class="trust-lbl" data-t="trust.words">Words you can save</span></div>
1092        </div>
1093      </div>
1094
1095      <div class="hero-visual reveal">
1096        <span class="orbit-chip orbit-1">Español</span>
1097        <span class="orbit-chip orbit-2">日本語</span>
1098        <div class="browser">
1099          <div class="browser-chrome">
1100            <div class="dots"><span></span><span></span><span></span></div>
1101            <div class="url">
1102              <svg viewBox="0 0 24 24" fill="none" stroke-width="2"><path d="M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"/></svg>
1103              <span class="url-path">reading.times.com/article</span>
1104            </div>
1105          </div>
1106          <div class="browser-body">
1107            <p>Reading is an act of <span class="highlight" id="demo-word">curiosity</span>. Every page holds a word you don't know yet — and every word is a doorway.</p>
1108            <p>The best way to learn a language is to live inside one, one unfamiliar noun at a time.</p>
1109            <div class="popup">
1110              <span class="popup-badge">ReadLingo</span>
1111              <div class="popup-head">
1112                <span class="popup-word" id="pop-src">curiosity</span>
1113                <span class="popup-ipa">/kjʊəˈrɪəsɪti/</span>
1114              </div>
1115              <div class="popup-arrow">EN → <span id="pop-lang">PT</span></div>
1116              <div class="popup-trans" id="pop-tgt">curiosidade</div>
1117              <div class="popup-actions">
1118                <button class="popup-btn primary">
1119                  <svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg>
1120                  Save
1121                </button>
1122                <button class="popup-btn">
1123                  <svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><polygon points="11 5 6 9 2 9 2 15 6 15 11 19 11 5"/><path d="M15.54 8.46a5 5 0 0 1 0 7.07"/></svg>
1124                  Listen
1125                </button>
1126              </div>
1127            </div>
1128          </div>
1129        </div>
1130      </div>
1131    </div>
1132  </section>
1133
1134  <!-- HOW -->
1135  <section class="how" id="how">
1136    <div class="wrap">
1137      <div class="section-head reveal">
1138        <div class="eyebrow" data-t="how.eyebrow">How it works</div>
1139        <h2 data-t="how.title">Three seconds. <em>One new word</em>.</h2>
1140        <p data-t="how.subtitle">No app to switch to. No flow to break. Just read, and pick up the words you don't know yet.</p>
1141      </div>
1142      <div class="steps">
1143        <div class="step reveal">
1144          <div class="step-num">1</div>
1145          <h3 data-t="how.s1_t">Select</h3>
1146          <p data-t="how.s1_d">Select any word you don't know on the page.</p>
1147        </div>
1148        <div class="step reveal">
1149          <div class="step-num">2</div>
1150          <h3 data-t="how.s2_t">Click the icon</h3>
1151          <p data-t="how.s2_d">A small menu appears — click the ReadLingo icon.</p>
1152        </div>
1153        <div class="step reveal">
1154          <div class="step-num">3</div>
1155          <h3 data-t="how.s3_t">Save</h3>
1156          <p data-t="how.s3_d">See the translation and save it as a flashcard with one click.</p>
1157        </div>
1158      </div>
1159    </div>
1160  </section>
1161
1162  <!-- FEATURES -->
1163  <section id="features">
1164    <div class="wrap">
1165      <div class="section-head reveal">
1166        <div class="eyebrow" data-t="features.eyebrow">Features</div>
1167        <h2 data-t="features.title">Everything you need to learn vocabulary</h2>
1168        <p data-t="features.subtitle">ReadLingo turns your everyday browsing into language practice.</p>
1169      </div>
1170
1171      <div class="bento">
1172        <!-- BIG HERO CARD -->
1173        <div class="card feature-hero card-w6 reveal">
1174          <div class="feature-hero-text">
1175            <span class="card-pill pill-free">Free</span>
1176            <h3 data-t="f1.title">Translate words instantly</h3>
1177            <p data-t="f1.desc">Select any word on a webpage and instantly see its translation. Google Translate under the hood, 100+ languages.</p>
1178          </div>
1179          <div class="feature-hero-visual" aria-hidden="true">
1180            <div class="stack">
1181              <div class="stack-card s1">
1182                <div class="stack-card-word">ephemeral</div>
1183                <div class="stack-card-trans">efêmero</div>
1184              </div>
1185              <div class="stack-card s2">
1186                <div class="stack-card-word">旅行</div>
1187                <div class="stack-card-trans">journey</div>
1188              </div>
1189              <div class="stack-card s3">
1190                <div class="stack-card-word">sérendipité</div>
1191                <div class="stack-card-trans">serendipity</div>
1192              </div>
1193            </div>
1194          </div>
1195        </div>
1196
1197        <!-- Row 2 -->
1198        <div class="card card-w3 reveal">
1199          <div class="card-icon">
1200            <svg viewBox="0 0 24 24"><path d="M12 2a6 6 0 0 1 6 6c0 3.5-3 5-3 8h-6c0-3-3-4.5-3-8a6 6 0 0 1 6-6zM9 21h6M10 18h4"/></svg>
1201          </div>
1202          <span class="card-pill pill-pro">Pro</span>
1203          <h3 data-t="f2.title">AI example sentences</h3>
1204          <p data-t="f2.desc">Contextual example sentences generated by AI — see how natives actually use the word.</p>
1205        </div>
1206
1207        <div class="card card-w3 reveal">
1208          <div class="card-icon">
1209            <svg viewBox="0 0 24 24"><rect x="3" y="4" width="18" height="16" rx="3"/><path d="M7 10h10M7 14h6M13 4v16"/></svg>
1210          </div>
1211          <span class="card-pill pill-free">Free</span>
1212          <h3 data-t="f3.title">Spaced repetition flashcards</h3>
1213          <p data-t="f3.desc">Review saved words with a built-in SRS. Study at optimal intervals to maximize retention.</p>
1214        </div>
1215
1216        <!-- Row 3 -->
1217        <div class="card card-w2 reveal">
1218          <div class="card-icon">
1219            <svg viewBox="0 0 24 24"><rect x="3" y="3" width="7" height="7" rx="1.5"/><rect x="14" y="3" width="7" height="7" rx="1.5"/><rect x="3" y="14" width="7" height="7" rx="1.5"/><rect x="14" y="14" width="7" height="7" rx="1.5"/></svg>
1220          </div>
1221          <span class="card-pill pill-pro">Pro</span>
1222          <h3 data-t="f4.title">Custom decks with colors</h3>
1223          <p data-t="f4.desc">Organize vocabulary into color-coded decks by topic or language.</p>
1224        </div>
1225
1226        <div class="card card-w2 reveal">
1227          <div class="card-icon">
1228            <svg viewBox="0 0 24 24"><path d="M12 3v12M7 10l5 5 5-5M5 21h14"/></svg>
1229          </div>
1230          <span class="card-pill pill-pro">Pro</span>
1231          <h3 data-t="f5.title">Export to Anki</h3>
1232          <p data-t="f5.desc">Take your flashcards anywhere. Anki-compatible .apkg export built in.</p>
1233        </div>
1234
1235        <div class="card card-w2 reveal">
1236          <div class="card-icon">
1237            <svg viewBox="0 0 24 24"><path d="M12 3a9 9 0 1 0 9 9 7 7 0 0 1-9-9z"/></svg>
1238          </div>
1239          <span class="card-pill pill-free">Free</span>
1240          <h3 data-t="f6.title">Dark & light themes</h3>
1241          <p data-t="f6.desc">Switch themes in one click. Comfortable reading morning to midnight.</p>
1242        </div>
1243      </div>
1244    </div>
1245  </section>
1246
1247  <!-- PRICING -->
1248  <section class="pricing-wrap" id="pricing">
1249    <div class="wrap">
1250      <div class="section-head reveal">
1251        <div class="eyebrow" data-t="pricing.eyebrow">Pricing</div>
1252        <h2 data-t="pricing.title">Simple, affordable pricing</h2>
1253        <p data-t="pricing.subtitle">Start free. Upgrade the day you want more.</p>
1254      </div>
1255
1256      <div class="price-grid">
1257        <div class="plan reveal">
1258          <h3>Free</h3>
1259          <div class="plan-price">$0<small data-t="pricing.forever">forever</small></div>
1260          <p class="plan-sub" data-t="p.free_desc">Everything you need to get started</p>
1261          <ul class="plan-feats">
1262            <li><svg viewBox="0 0 24 24" fill="none" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg><span data-t="p.f1">Instant word translation</span></li>
1263            <li><svg viewBox="0 0 24 24" fill="none" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg><span data-t="p.f2">Save unlimited words</span></li>
1264            <li><svg viewBox="0 0 24 24" fill="none" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg><span data-t="p.f3">Spaced repetition flashcards</span></li>
1265            <li><svg viewBox="0 0 24 24" fill="none" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg><span data-t="p.f4">Dark and light themes</span></li>
1266            <li><svg viewBox="0 0 24 24" fill="none" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg><span data-t="p.f5">Import/Export CSV</span></li>
1267          </ul>
1268          <a href="https://chromewebstore.google.com/detail/readlingo/cfojmfdiagndidcgmapangdgmlmfmmna" class="btn-plan btn-outline" data-t="p.free_btn">Get started</a>
1269        </div>
1270
1271        <div class="plan featured reveal">
1272          <span class="plan-label" data-t="p.popular">Most popular</span>
1273          <h3>Premium</h3>
1274          <div class="plan-price">$3<small>/month</small></div>
1275          <p class="plan-sub" data-t="p.pro_desc">Advanced features for serious learners</p>
1276          <ul class="plan-feats">
1277            <li><svg viewBox="0 0 24 24" fill="none" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg><span data-t="p.p1">Everything in Free</span></li>
1278            <li><svg viewBox="0 0 24 24" fill="none" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg><span data-t="p.p2">AI example sentences</span></li>
1279            <li><svg viewBox="0 0 24 24" fill="none" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg><span data-t="p.p3">Custom color-coded decks</span></li>
1280            <li><svg viewBox="0 0 24 24" fill="none" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg><span data-t="p.p4">Export to Anki</span></li>
1281            <li><svg viewBox="0 0 24 24" fill="none" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg><span data-t="p.p5">Cloud sync across devices</span></li>
1282            <li><svg viewBox="0 0 24 24" fill="none" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg><span data-t="p.p6">Priority support</span></li>
1283          </ul>
1284          <a href="https://chromewebstore.google.com/detail/readlingo/cfojmfdiagndidcgmapangdgmlmfmmna" class="btn-plan btn-gold" data-t="p.pro_btn">Start 7-day free trial</a>
1285        </div>
1286      </div>
1287    </div>
1288  </section>
1289
1290</main>
1291
1292<footer>
1293  <div class="wrap foot">
1294    <a href="#" class="brand">
1295      <span class="brand-mark">R</span>
1296      ReadLingo
1297    </a>
1298    <div class="foot-links">
1299      <a href="affiliates.html" data-t="footer.affiliates">Affiliates</a>
1300      <a href="privacy.html" data-t="footer.privacy">Privacy Policy</a>
1301      <a href="https://chromewebstore.google.com/detail/readlingo/cfojmfdiagndidcgmapangdgmlmfmmna" data-t="footer.chrome">Chrome Web Store</a>
1302      <a href="/cdn-cgi/l/email-protection#45262a2b312426310537202421292c2b222a6b243535" data-t="footer.contact">Contact</a>
1303    </div>
1304    <p class="foot-copy" data-t="footer.copy">2026 ReadLingo. All rights reserved.</p>
1305  </div>
1306</footer>
vendor: 110 bytes, lines 1306-1308
1306
1307
1308<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
1308<script>
1309/* ============ Theme toggle ============ */
1310function toggleTheme() {
1311  document.documentElement.classList.toggle("light");
1312  const mode = document.documentElement.classList.contains("light") ? "light" : "dark";
1313  localStorage.setItem("rl-theme", mode);
1314  document.querySelector('meta[name="theme-color"]').setAttribute("content", mode === "light" ? "#fbf8f0" : "#0a0a12");
1315}
1316document.getElementById("theme-toggle").addEventListener("click", toggleTheme);
1317document.getElementById("theme-toggle-m").addEventListener("click", toggleTheme);
1318if (localStorage.getItem("rl-theme") === "light") {
1319  document.documentElement.classList.add("light");
1320  document.querySelector('meta[name="theme-color"]').setAttribute("content", "#fbf8f0");
1321}
1322
1323/* ============ Mobile drawer ============ */
1324const hamb = document.getElementById("hamburger");
1325const drawer = document.getElementById("drawer");
1326function setMenu(open) {
1327  document.body.classList.toggle("menu-open", open);
1328  hamb.setAttribute("aria-expanded", String(open));
1329  drawer.setAttribute("aria-hidden", String(!open));
1330  document.body.style.overflow = open ? "hidden" : "";
1331}
1332hamb.addEventListener("click", () => setMenu(!document.body.classList.contains("menu-open")));
1333drawer.querySelectorAll("a").forEach(a => a.addEventListener("click", () => setMenu(false)));
1334window.addEventListener("resize", () => { if (window.innerWidth > 720) setMenu(false); });
1335
1336/* ============ Scroll reveal ============ */
1337const io = new IntersectionObserver((entries) => {
1338  entries.forEach(e => {
1339    if (e.isIntersecting) { e.target.classList.add("in"); io.unobserve(e.target); }
1340  });
1341}, { threshold: 0.12, rootMargin: "0px 0px -8% 0px" });
1342document.querySelectorAll(".reveal").forEach((el, i) => {
1343  el.style.transitionDelay = (i % 3) * 70 + "ms";
1344  io.observe(el);
1345});
1346
1347/* ============ i18n ============ */
1348</script>
vendor: 1 bytes, line 1348
1348
1349<script>
1350const _x = {
1351en:{"f1.title":"Translate words instantly","f1.desc":"Select any word on a webpage and instantly see its translation.","f2.title":"AI-powered example sentences","f2.desc":"Get contextual example sentences generated by AI.","f3.title":"Spaced repetition flashcards","f3.desc":"Review saved words with a built-in spaced repetition system.","f4.title":"Custom decks with colors","f4.desc":"Organize your vocabulary into color-coded decks.","f5.title":"Export to Anki","f5.desc":"Export your flashcard decks in Anki-compatible format.","f6.title":"Dark and light themes","f6.desc":"Choose between dark and light themes.","p.free_desc":"Everything you need to get started","p.f1":"Instant word translation","p.f2":"Save unlimited words","p.f3":"Spaced repetition flashcards","p.f4":"Dark and light themes","p.f5":"Import/Export CSV","p.free_btn":"Get started","p.popular":"Most popular","p.pro_desc":"Advanced features for serious learners","p.p1":"Everything in Free","p.p2":"AI example sentences","p.p3":"Custom color-coded decks","p.p4":"Export to Anki","p.p5":"Cloud sync across devices","p.p6":"Priority support","p.pro_btn":"Start 7-day free trial","footer.affiliates":"Affiliates","footer.privacy":"Privacy Policy","footer.chrome":"Chrome Web Store","footer.contact":"Contact","footer.copy":"2026 ReadLingo. All rights reserved."},
1352pt:{"f1.title":"Traduzir palavras instantaneamente","f1.desc":"Selecione qualquer palavra e veja a tradução.","f2.title":"Frases com IA","f2.desc":"Obtenha frases contextuais geradas por IA.","f3.title":"Flashcards com repetição espaçada","f3.desc":"Revise palavras com repetição espaçada.","f4.title":"Baralhos personalizados","f4.desc":"Organize vocabulário em baralhos coloridos.","f5.title":"Exportar para Anki","f5.desc":"Exporte em formato Anki.","f6.title":"Temas claro e escuro","f6.desc":"Escolha entre claro ou escuro.","p.free_desc":"Tudo para começar","p.f1":"Tradução instantânea","p.f2":"Palavras ilimitadas","p.f3":"Flashcards com repetição espaçada","p.f4":"Temas claro e escuro","p.f5":"Importar/Exportar CSV","p.free_btn":"Começar grátis","p.popular":"Mais popular","p.pro_desc":"Recursos avançados para quem leva a sério","p.p1":"Tudo do Free","p.p2":"Frases com IA","p.p3":"Baralhos coloridos","p.p4":"Exportar para Anki","p.p5":"Sincronização na nuvem","p.p6":"Suporte prioritário","p.pro_btn":"Testar grátis por 7 dias","footer.affiliates":"Afiliados","footer.privacy":"Política de Privacidade","footer.chrome":"Chrome Web Store","footer.contact":"Contato","footer.copy":"2026 ReadLingo. Todos os direitos reservados."},
1353es:{"f1.title":"Traduce palabras al instante","f1.desc":"Selecciona cualquier palabra y ve su traducción.","f2.title":"Frases con IA","f2.desc":"Obtén frases contextuales generadas por IA.","f3.title":"Flashcards con repetición espaciada","f3.desc":"Revisa palabras con repetición espaciada.","f4.title":"Mazos personalizados","f4.desc":"Organiza vocabulario en mazos coloridos.","f5.title":"Exportar a Anki","f5.desc":"Exporta en formato Anki.","f6.title":"Temas claro y oscuro","f6.desc":"Elige entre claro u oscuro.","p.free_desc":"Todo para empezar","p.f1":"Traducción instantánea","p.f2":"Palabras ilimitadas","p.f3":"Flashcards con repetición espaciada","p.f4":"Temas claro y oscuro","p.f5":"Importar/Exportar CSV","p.free_btn":"Empezar gratis","p.popular":"Más popular","p.pro_desc":"Funciones avanzadas","p.p1":"Todo del Free","p.p2":"Frases con IA","p.p3":"Mazos personalizados","p.p4":"Exportar a Anki","p.p5":"Sincronización en la nube","p.p6":"Soporte prioritario","p.pro_btn":"Mejorar a Premium","footer.affiliates":"Afiliados","footer.privacy":"Política de Privacidad","footer.chrome":"Chrome Web Store","footer.contact":"Contacto","footer.copy":"2026 ReadLingo. Todos los derechos reservados."},
1354fr:{"f1.title":"Traduisez instantanément","f1.desc":"Sélectionnez un mot et voyez sa traduction.","f2.title":"Phrases par IA","f2.desc":"Obtenez des phrases contextuelles par IA.","f3.title":"Flashcards à répétition espacée","f3.desc":"Révisez avec la répétition espacée.","f4.title":"Paquets personnalisés","f4.desc":"Organisez votre vocabulaire en paquets colorés.","f5.title":"Exporter vers Anki","f5.desc":"Exportez en format Anki.","f6.title":"Thèmes clair et sombre","f6.desc":"Choisissez clair ou sombre.","p.free_desc":"Tout pour commencer","p.f1":"Traduction instantanée","p.f2":"Mots illimités","p.f3":"Flashcards à répétition espacée","p.f4":"Thèmes clair et sombre","p.f5":"Stockage local","p.free_btn":"Commencer","p.popular":"Le plus populaire","p.pro_desc":"Fonctionnalités avancées","p.p1":"Tout du Free","p.p2":"Phrases par IA","p.p3":"Paquets personnalisés","p.p4":"Exporter vers Anki","p.p5":"Sync cloud","p.p6":"Support prioritaire","p.pro_btn":"Passer à Premium","footer.affiliates":"Affiliés","footer.privacy":"Confidentialité","footer.chrome":"Chrome Web Store","footer.contact":"Contact","footer.copy":"2026 ReadLingo. Tous droits réservés."},
1355de:{"f1.title":"Sofort übersetzen","f1.desc":"Wählen Sie ein Wort und sehen Sie die Übersetzung.","f2.title":"KI-Beispielsätze","f2.desc":"Erhalten Sie kontextuelle Sätze von KI.","f3.title":"Karteikarten mit Wiederholung","f3.desc":"Wiederholen Sie mit verteilter Wiederholung.","f4.title":"Eigene Stapel","f4.desc":"Organisieren Sie Vokabeln in farbigen Stapeln.","f5.title":"Für Anki exportieren","f5.desc":"Exportieren Sie im Anki-Format.","f6.title":"Hell und Dunkel","f6.desc":"Wählen Sie zwischen hell und dunkel.","p.free_desc":"Alles zum Starten","p.f1":"Sofortige Übersetzung","p.f2":"Unbegrenzte Wörter","p.f3":"Karteikarten","p.f4":"Hell/Dunkel","p.f5":"Lokaler Speicher","p.free_btn":"Loslegen","p.popular":"Am beliebtesten","p.pro_desc":"Erweiterte Funktionen","p.p1":"Alles aus Free","p.p2":"KI-Sätze","p.p3":"Eigene Stapel","p.p4":"Anki-Export","p.p5":"Cloud-Sync","p.p6":"Premium-Support","p.pro_btn":"Auf Premium upgraden","footer.affiliates":"Partner","footer.privacy":"Datenschutz","footer.chrome":"Chrome Web Store","footer.contact":"Kontakt","footer.copy":"2026 ReadLingo. Alle Rechte vorbehalten."},
1356it:{"f1.title":"Traduci istantaneamente","f1.desc":"Seleziona una parola e vedi la traduzione.","f2.title":"Frasi con IA","f2.desc":"Ottieni frasi contestuali generate dall'IA.","f3.title":"Flashcard con ripetizione spaziata","f3.desc":"Rivedi con la ripetizione spaziata.","f4.title":"Mazzi personalizzati","f4.desc":"Organizza il vocabolario in mazzi colorati.","f5.title":"Esporta per Anki","f5.desc":"Esporta in formato Anki.","f6.title":"Temi chiaro e scuro","f6.desc":"Scegli tra chiaro e scuro.","p.free_desc":"Tutto per iniziare","p.f1":"Traduzione istantanea","p.f2"
1356:"Parole illimitate","p.f3":"Flashcard","p.f4":"Temi chiaro/scuro","p.f5":"Archiviazione locale","p.free_btn":"Inizia","p.popular":"Più popolare","p.pro_desc":"Funzionalità avanzate","p.p1":"Tutto del Free","p.p2":"Frasi con IA","p.p3":"Mazzi personalizzati","p.p4":"Esporta per Anki","p.p5":"Sync cloud","p.p6":"Supporto prioritario","p.pro_btn":"Passa a Premium","footer.affiliates":"Affiliati","footer.privacy":"Privacy","footer.chrome":"Chrome Web Store","footer.contact":"Contatto","footer.copy":"2026 ReadLingo. Tutti i diritti riservati."},
1357ja:{"f1.title":"即座に翻訳","f1.desc":"単語を選択して翻訳を確認。","f2.title":"AI例文","f2.desc":"AIが生成した文脈に合った例文。","f3.title":"間隔反復フラッシュカード","f3.desc":"間隔反復で復習。","f4.title":"カスタムデッキ","f4.desc":"色分けデッキで語彙を整理。","f5.title":"Ankiにエクスポート","f5.desc":"Anki形式でエクスポート。","f6.title":"ダーク/ライトテーマ","f6.desc":"テーマを選択。","p.free_desc":"始めるのに必要なすべて","p.f1":"即時翻訳","p.f2":"無制限の単語","p.f3":"フラッシュカード","p.f4":"テーマ切替","p.f5":"ローカル保存","p.free_btn":"始める","p.popular":"人気No.1","p.pro_desc":"上級者向け機能","p.p1":"Freeの全機能","p.p2":"AI例文","p.p3":"カスタムデッキ","p.p4":"Ankiエクスポート","p.p5":"クラウド同期","p.p6":"優先サポート","p.pro_btn":"Premiumにアップグレード","footer.affiliates":"アフィリエイト","footer.privacy":"プライバシー","footer.chrome":"Chrome Web Store","footer.contact":"お問い合わせ","footer.copy":"2026 ReadLingo. All rights reserved."},
1358ko:{"f1.title":"즉시 번역","f1.desc":"단어를 선택하고 번역을 확인하세요.","f2.title":"AI 예문","f2.desc":"AI가 생성한 맥락 예문.","f3.title":"간격 반복 플래시카드","f3.desc":"간격 반복으로 복습.","f4.title":"맞춤 덱","f4.desc":"색상 덱으로 어휘 정리.","f5.title":"Anki로 내보내기","f5.desc":"Anki 형식으로 내보내기.","f6.title":"다크/라이트 테마","f6.desc":"테마를 선택하세요.","p.free_desc":"시작에 필요한 모든 것","p.f1":"즉시 번역","p.f2":"무제한 단어","p.f3":"플래시카드","p.f4":"테마 전환","p.f5":"로컬 저장","p.free_btn":"시작하기","p.popular":"가장 인기","p.pro_desc":"고급 기능","p.p1":"Free 전체 포함","p.p2":"AI 예문","p.p3":"맞춤 덱","p.p4":"Anki 내보내기","p.p5":"클라우드 동기화","p.p6":"우선 지원","p.pro_btn":"Premium 업그레이드","footer.affiliates":"제휴","footer.privacy":"개인정보","footer.chrome":"Chrome Web Store","footer.contact":"문의","footer.copy":"2026 ReadLingo. All rights reserved."},
1359zh:{"f1.title":"即时翻译","f1.desc":"选择单词即可查看翻译。","f2.title":"AI例句","f2.desc":"AI生成的语境例句。","f3.title":"间隔重复闪卡","f3.desc":"用间隔重复复习。","f4.title":"自定义卡组","f4.desc":"用彩色卡组整理词汇。","f5.title":"导出到Anki","f5.desc":"以Anki格式导出。","f6.title":"深色/浅色主题","f6.desc":"选择主题。","p.free_desc":"开始所需的一切","p.f1":"即时翻译","p.f2":"无限单词","p.f3":"闪卡","p.f4":"主题切换","p.f5":"本地存储","p.free_btn":"开始","p.popular":"最受欢迎","p.pro_desc":"高级功能","p.p1":"包含Free全部","p.p2":"AI例句","p.p3":"自定义卡组","p.p4":"Anki导出","p.p5":"云同步","p.p6":"优先支持","p.pro_btn":"升级Premium","footer.affiliates":"联盟","footer.privacy":"隐私政策","footer.chrome":"Chrome Web Store","footer.contact":"联系","footer.copy":"2026 ReadLingo. All rights reserved."},
1360ru:{"f1.title":"Мгновенный перевод","f1.desc":"Выберите слово и увидите перевод.","f2.title":"Примеры от ИИ","f2.desc":"Контекстные предложения от ИИ.","f3.title":"Карточки с интервальным повторением","f3.desc":"Повторяйте с интервалами.","f4.title":"Свои колоды","f4.desc":"Организуйте словарь в цветных колодах.","f5.title":"Экспорт в Anki","f5.desc":"Экспорт в формате Anki.","f6.title":"Тёмная/светлая тема","f6.desc":"Выберите тему.","p.free_desc":"Всё для начала","p.f1":"Мгновенный перевод","p.f2":"Без ограничений","p.f3":"Карточки","p.f4":"Темы","p.f5":"Локальное хранение","p.free_btn":"Начать","p.popular":"Самый популярный","p.pro_desc":"Расширенные функции","p.p1":"Всё из Free","p.p2":"Примеры от ИИ","p.p3":"Свои колоды","p.p4":"Экспорт в Anki","p.p5":"Облачная синхронизация","p.p6":"Приоритетная поддержка","p.pro_btn":"Перейти на Premium","footer.affiliates":"Партнёры","footer.privacy":"Конфиденциальность","footer.chrome":"Chrome Web Store","footer.contact":"Контакты","footer.copy":"2026 ReadLingo. Все права защищены."},
1361ar:{"f1.title":"ترجمة فورية","f1.desc":"اختر كلمة وشاهد الترجمة.","f2.title":"جمل بالذكاء الاصطناعي","f2.desc":"جمل سياقية من الذكاء الاصطناعي.","f3.title":"بطاقات التكرار المتباعد","f3.desc":"راجع بالتكرار المتباعد.","f4.title":"مجموعات مخصصة","f4.desc":"نظم المفردات في مجموعات ملونة.","f5.title":"تصدير إلى Anki","f5.desc":"تصدير بتنسيق Anki.","f6.title":"وضع داكن/فاتح","f6.desc":"اختر الوضع.","p.free_desc":"كل ما تحتاجه للبداية","p.f1":"ترجمة فورية","p.f2":"كلمات غير محدودة","p.f3":"بطاقات","p.f4":"أوضاع","p.f5":"تخزين محلي","p.free_btn":"ابدأ","p.popular":"الأكثر شعبية","p.pro_desc":"ميزات متقدمة","p.p1":"كل شيء في Free","p.p2":"جمل IA","p.p3":"مجموعات مخصصة","p.p4":"تصدير Anki","p.p5":"مزامنة سحابية","p.p6":"دعم أولوية","p.pro_btn":"ترقية إلى Premium","footer.affiliates":"المسوقون","footer.privacy":"الخصوصية","footer.chrome":"Chrome Web Store","footer.contact":"اتصل","footer.copy":"2026 ReadLingo. جميع الحقوق محفوظة."},
1362hi:{"f1.title":"तुरंत अनुवाद","f1.desc":"शब्द चुनें और अनुवाद देखें।","f2.title":"AI उदाहरण वाक्य","f2.desc":"AI द्वारा उत्à
1362¤ªà¤¨à¥à¤¨ वाक्य।","f3.title":"स्पेस्ड रिपीटिशन फ्लैशकार्ड","f3.desc":"स्पेस्ड रिपीटिशन से रिवीज़ करें।","f4.title":"कस्टम डेक","f4.desc":"रंगीन डेक में शब्दावली व्यवस्थित करें।","f5.title":"Anki में निर्यात","f5.desc":"Anki प्रारूप में निर्यात।","f6.title":"डार्क/लाइट थीम","f6.desc":"थीम चुनें।","p.free_desc":"शुरू करने के लिए सब कुछ","p.f1":"तुरंत अनुवाद","p.f2":"असीमित शब्द","p.f3":"फ्लैशकार्ड","p.f4":"थीम","p.f5":"लोकल स्टोरेज","p.free_btn":"शुरू करें","p.popular":"सबसे लोकप्रिय","p.pro_desc":"उन्नत सुविधाएं","p.p1":"Free का सब कुछ","p.p2":"AI वाक्य","p.p3":"कस्टम डेक","p.p4":"Anki निर्यात","p.p5":"क्लाउड सिंक","p.p6":"प्राथमिकता सहायता","p.pro_btn":"Premium में अपग्रेड","footer.affiliates":"एफिलिएट","footer.privacy":"गोपनीयता","footer.chrome":"Chrome Web Store","footer.contact":"संपर्क","footer.copy":"2026 ReadLingo. सर्वाधिकार सुरक्षित।"},
1363tr:{"f1.title":"Anında çeviri","f1.desc":"Bir kelime seçin ve çevirisini görün.","f2.title":"AI örnek cümleler","f2.desc":"AI tarafından üretilen bağlamsal cümleler.","f3.title":"Aralıklı tekrar kartları","f3.desc":"Aralıklı tekrar ile gözden geçirin.","f4.title":"Özel desteler","f4.desc":"Kelime haznenizi renkli destelerde düzenleyin.","f5.title":"Anki'ye aktar","f5.desc":"Anki formatında dışa aktarın.","f6.title":"Koyu/Açık tema","f6.desc":"Tema seçin.","p.free_desc":"Başlamak için gereken her şey","p.f1":"Anında çeviri","p.f2":"Sınırsız kelime","p.f3":"Kartlar","p.f4":"Temalar","p.f5":"Yerel depolama","p.free_btn":"Başla","p.popular":"En popüler","p.pro_desc":"Gelişmiş özellikler","p.p1":"Free'deki her şey","p.p2":"AI cümleleri","p.p3":"Özel desteler","p.p4":"Anki aktarımı","p.p5":"Bulut senkronizasyonu","p.p6":"Öncelikli destek","p.pro_btn":"Premium'a yükselt","footer.affiliates":"Ortaklar","footer.privacy":"Gizlilik","footer.chrome":"Chrome Web Store","footer.contact":"İletişim","footer.copy":"2026 ReadLingo. Tüm hakları saklıdır."},
1364pl:{"f1.title":"Błyskawiczne tłumaczenie","f1.desc":"Wybierz słowo i zobacz tłumaczenie.","f2.title":"Zdania z AI","f2.desc":"Kontekstowe zdania od AI.","f3.title":"Fiszki z powtórkami","f3.desc":"Powtarzaj z przerwami.","f4.title":"Własne talie","f4.desc":"Organizuj słownictwo w kolorowych taliach.","f5.title":"Eksport do Anki","f5.desc":"Eksportuj w formacie Anki.","f6.title":"Jasny/ciemny motyw","f6.desc":"Wybierz motyw.","p.free_desc":"Wszystko na start","p.f1":"Błyskawiczne tłumaczenie","p.f2":"Bez limitu słów","p.f3":"Fiszki","p.f4":"Motywy","p.f5":"Lokalne przechowywanie","p.free_btn":"Zacznij","p.popular":"Najpopularniejszy","p.pro_desc":"Zaawansowane funkcje","p.p1":"Wszystko z Free","p.p2":"Zdania AI","p.p3":"Własne talie","p.p4":"Eksport Anki","p.p5":"Synchronizacja w chmurze","p.p6":"Priorytetowe wsparcie","p.pro_btn":"Przejdź na Premium","footer.affiliates":"Partnerzy","footer.privacy":"Prywatność","footer.chrome":"Chrome Web Store","footer.contact":"Kontakt","footer.copy":"2026 ReadLingo. Wszelkie prawa zastrzeżone."},
1365nl:{"f1.title":"Direct vertalen","f1.desc":"Selecteer een woord en zie de vertaling.","f2.title":"AI-voorbeeldzinnen","f2.desc":"Contextuele zinnen van AI.","f3.title":"Herhalingsflashcards","f3.desc":"Herhaal met intervallen.","f4.title":"Aangepaste stapels","f4.desc":"Organiseer woordenschat in gekleurde stapels.","f5.title":"Exporteer naar Anki","f5.desc":"Exporteer in Anki-formaat.","f6.title":"Donker/licht thema","f6.desc":"Kies je thema.","p.free_desc":"Alles om te beginnen","p.f1":"Direct vertalen","p.f2"
1365:"Onbeperkte woorden","p.f3":"Flashcards","p.f4":"Thema's","p.f5":"Lokale opslag","p.free_btn":"Start","p.popular":"Meest populair","p.pro_desc":"Geavanceerde functies","p.p1":"Alles uit Free","p.p2":"AI-zinnen","p.p3":"Eigen stapels","p.p4":"Anki-export","p.p5":"Cloud-sync","p.p6":"Prioriteitsondersteuning","p.pro_btn":"Upgrade naar Premium","footer.affiliates":"Partners","footer.privacy":"Privacy","footer.chrome":"Chrome Web Store","footer.contact":"Contact","footer.copy":"2026 ReadLingo. Alle rechten voorbehouden."},
1366sv:{"f1.title":"Översätt direkt","f1.desc":"Välj ett ord och se översättningen.","f2.title":"AI-exempelmeningar","f2.desc":"Kontextuella meningar från AI.","f3.title":"Flashkort med repetition","f3.desc":"Repetera med intervaller.","f4.title":"Anpassade kortlekar","f4.desc":"Organisera ordförråd i färgkodade lekar.","f5.title":"Exportera till Anki","f5.desc":"Exportera i Anki-format.","f6.title":"Mörkt/ljust tema","f6.desc":"Välj tema.","p.free_desc":"Allt för att börja","p.f1":"Direktöversättning","p.f2":"Obegränsade ord","p.f3":"Flashkort","p.f4":"Teman","p.f5":"Lokal lagring","p.free_btn":"Börja","p.popular":"Mest populär","p.pro_desc":"Avancerade funktioner","p.p1":"Allt i Free","p.p2":"AI-meningar","p.p3":"Egna lekar","p.p4":"Anki-export","p.p5":"Molnsynk","p.p6":"Prioritetsstöd","p.pro_btn":"Uppgradera till Premium","footer.affiliates":"Partners","footer.privacy":"Integritet","footer.chrome":"Chrome Web Store","footer.contact":"Kontakt","footer.copy":"2026 ReadLingo. Alla rättigheter förbehållna."},
1367};
1368
1369const _nav = {
1370en:{"nav.features":"Features","nav.how":"How it works","nav.pricing":"Pricing","nav.affiliates":"Affiliates","nav.privacy":"Privacy","hero.badge":"Chrome extension · 100+ languages","hero.title":"Learn languages <em>while you browse</em>.","hero.subtitle":"Translate any word on any webpage with a click. Save it as a flashcard. Review with spaced repetition. Actually remember it.","hero.cta":"Add to Chrome — Free","hero.cta_alt":"See how it works","hero.note":"<strong>Free forever.</strong> Try Premium 7 days, then $3/month.","trust.langs":"Languages","trust.clicks":"Clicks to translate","trust.words":"Words you can save","how.eyebrow":"How it works","how.title":"Three seconds. <em>One new word</em>.","how.subtitle":"No app to switch to. No flow to break. Just read, and pick up the words you don't know yet.","how.s1_t":"Select","how.s1_d":"Select any word you don't know on the page.","how.s2_t":"Click the icon","how.s2_d":"A small menu appears — click the ReadLingo icon.","how.s3_t":"Save","how.s3_d":"See the translation and save it as a flashcard with one click.","features.eyebrow":"Features","features.title":"Everything you need to learn vocabulary","features.subtitle":"ReadLingo turns your everyday browsing into language practice.","pricing.eyebrow":"Pricing","pricing.title":"Simple, affordable pricing","pricing.subtitle":"Start free. Upgrade the day you want more.","pricing.forever":"forever"},
1371pt:{"nav.features":"Funcionalidades","nav.how":"Como funciona","nav.pricing":"Preços","nav.affiliates":"Afiliados","nav.privacy":"Privacidade","hero.badge":"Extensão Chrome · 100+ idiomas","hero.title":"Aprenda idiomas <em>enquanto navega</em>.","hero.subtitle":"Traduza qualquer palavra em qualquer página com um clique. Salve como flashcard. Revise com repetição espaçada. E finalmente lembre.","hero.cta":"Adicionar ao Chrome — Grátis","hero.cta_alt":"Ver como funciona","hero.note":"<strong>Grátis para sempre.</strong> Teste o Premium por 7 dias, depois $3/mês.","trust.langs":"Idiomas","trust.clicks":"Cliques pra traduzir","trust.words":"Palavras que você pode salvar","how.eyebrow":"Como funciona","how.title":"Três segundos. <em>Uma palavra nova</em>.","how.subtitle":"Sem app pra trocar. Sem quebrar o fluxo. Você lê e coleta as palavras que ainda não conhece.","how.s1_t":"Selecione","how.s1_d":"Selecione qualquer palavra que você ainda não conhece.","how.s2_t":"Clique no ícone","how.s2_d":"Um mini menu aparece — clique no ícone do ReadLingo.","how.s3_t":"Salve","how.s3_d":"Veja a tradução e salve como flashcard com um clique.","features.eyebrow":"Funcionalidades","features.title":"Tudo que você precisa pra aprender vocabulário","features.subtitle":"ReadLingo transforma sua navegação em prática de idiomas.","pricing.eyebrow":"Preços","pricing.title":"Preços simples e acessíveis","pricing.subtitle":"Comece grátis. Faça upgrade quando quiser.","pricing.forever":"pra sempre"},
1372es:{"nav.features":"Funciones","nav.how":"Cómo funciona","nav.pricing":"Precios","nav.affiliates":"Afiliados","nav.privacy":"Privacidad","hero.badge":"Extensión Chrome · 100+ idiomas","hero.title":"Aprende idiomas <em>mientras navegas</em>.","hero.subtitle":"Traduce cualquier palabra en cualquier página con un clic. Guárdala como flashcard. Repasa con repetición espaciada.","hero.cta":"Añadir a Chrome — Gratis","hero.cta_alt":"Ver cómo funciona","hero.note":"<strong>Gratis para siempre.</strong> Premium $3/mes.","trust.langs":"Idiomas","trust.clicks":"Clics para traducir","trust.words":"Palabras que puedes guardar","how.eyebrow":"Cómo funciona","how.title":"Tres segundos. <em>Una palabra nueva</em>
1372.","how.subtitle":"Sin app a la que cambiar. Sin interrumpir el flujo. Lee y recoge palabras.","how.s1_t":"Selecciona","how.s1_d":"Selecciona cualquier palabra que no conozcas.","how.s2_t":"Haz clic en el ícono","how.s2_d":"Aparece un mini menú — haz clic en el ícono de ReadLingo.","how.s3_t":"Guarda","how.s3_d":"Mira la traducción y guárdala como flashcard con un clic.","features.eyebrow":"Funciones","features.title":"Todo para aprender vocabulario","features.subtitle":"ReadLingo convierte tu navegación en práctica.","pricing.eyebrow":"Precios","pricing.title":"Precios simples","pricing.subtitle":"Empieza gratis. Mejora cuando quieras.","pricing.forever":"para siempre"},
1373fr:{"nav.features":"Fonctionnalités","nav.how":"Comment ça marche","nav.pricing":"Tarifs","nav.affiliates":"Affiliés","nav.privacy":"Confidentialité","hero.badge":"Extension Chrome · 100+ langues","hero.title":"Apprenez des langues <em>en naviguant</em>.","hero.subtitle":"Traduisez n'importe quel mot sur n'importe quelle page d'un clic. Enregistrez comme flashcard. Révisez en répétition espacée.","hero.cta":"Ajouter à Chrome — Gratuit","hero.cta_alt":"Voir comment","hero.note":"<strong>Gratuit pour toujours.</strong> Premium 3$/mois.","trust.langs":"Langues","trust.clicks":"Clics pour traduire","trust.words":"Mots sauvegardés","how.eyebrow":"Comment ça marche","how.title":"Trois secondes. <em>Un mot nouveau</em>.","how.subtitle":"Pas d'app à ouvrir. Pas de flux cassé. Lisez, et apprenez.","how.s1_t":"Sélectionnez","how.s1_d":"Sélectionnez un mot que vous ne connaissez pas.","how.s2_t":"Cliquez l'icône","how.s2_d":"Un petit menu apparaît — cliquez l'icône ReadLingo.","how.s3_t":"Enregistrez","how.s3_d":"Voyez la traduction et enregistrez-la en flashcard.","features.eyebrow":"Fonctionnalités","features.title":"Tout pour le vocabulaire","features.subtitle":"ReadLingo transforme votre navigation en pratique.","pricing.eyebrow":"Tarifs","pricing.title":"Tarifs simples","pricing.subtitle":"Commencez gratuitement. Passez au premium quand vous voulez.","pricing.forever":"pour toujours"},
1374de:{"nav.features":"Funktionen","nav.how":"So funktioniert's","nav.pricing":"Preise","nav.affiliates":"Partner","nav.privacy":"Datenschutz","hero.badge":"Chrome-Erweiterung · 100+ Sprachen","hero.title":"Sprachen lernen <em>beim Surfen</em>.","hero.subtitle":"Übersetze jedes Wort auf jeder Seite per Klick. Als Karteikarte speichern. Mit Wiederholung lernen.","hero.cta":"Zu Chrome hinzufügen","hero.cta_alt":"Wie es funktioniert","hero.note":"<strong>Für immer kostenlos.</strong> Premium 3$/Monat.","trust.langs":"Sprachen","trust.clicks":"Klicks zum Übersetzen","trust.words":"Speicherbare Wörter","how.eyebrow":"So funktioniert's","how.title":"Drei Sekunden. <em>Ein neues Wort</em>.","how.subtitle":"Keine App. Kein Unterbrechen. Lies und lern.","how.s1_t":"Auswählen","how.s1_d":"Wähle ein unbekanntes Wort auf der Seite aus.","how.s2_t":"Symbol klicken","how.s2_d":"Ein kleines Menü erscheint — klicke das ReadLingo-Symbol.","how.s3_t":"Speichern","how.s3_d":"Sieh die Übersetzung und speichere sie als Karteikarte.","features.eyebrow":"Funktionen","features.title":"Alles zum Vokabellernen","features.subtitle":"ReadLingo verwandelt Surfen in Sprachpraxis.","pricing.eyebrow":"Preise","pricing.title":"Einfache Preise","pricing.subtitle":"Kostenlos starten. Upgraden wenn Sie wollen.","pricing.forever":"für immer"},
1375it:{"nav.features":"Funzionalità","nav.how":"Come funziona","nav.pricing":"Prezzi","nav.affiliates":"Affiliati","nav.privacy":"Privacy","hero.badge":"Estensione Chrome · 100+ lingue","hero.title":"Impara le lingue <em>mentre navighi</em>.","hero.subtitle":"Traduci qualsiasi parola su qualsiasi pagina con un clic. Salva come flashcard. Ripassa con ripetizione spaziata.","hero.cta":"Aggiungi a Chrome — Gratis","hero.cta_alt":"Vedi come","hero.note":"<strong>Gratis per sempre.</strong> Premium 3$/mese.","trust.langs":"Lingue","trust.clicks":"Clic per tradurre","trust.words":"Parole salvabili","how.eyebrow":"Come funziona","how.title":"Tre secondi. <em>
1375Una parola nuova</em>.","how.subtitle":"Nessuna app da aprire. Nessun flusso interrotto. Leggi e impara.","how.s1_t":"Seleziona","how.s1_d":"Seleziona una parola che non conosci.","how.s2_t":"Clicca l'icona","how.s2_d":"Appare un mini menu — clicca l'icona ReadLingo.","how.s3_t":"Salva","how.s3_d":"Guarda la traduzione e salvala come flashcard.","features.eyebrow":"Funzionalità","features.title":"Tutto per il vocabolario","features.subtitle":"ReadLingo trasforma la navigazione in pratica.","pricing.eyebrow":"Prezzi","pricing.title":"Prezzi accessibili","pricing.subtitle":"Inizia gratis. Premium quando vuoi.","pricing.forever":"per sempre"},
1376ja:{"nav.features":"機能","nav.how":"仕組み","nav.pricing":"料金","nav.affiliates":"アフィリエイト","nav.privacy":"プライバシー","hero.badge":"Chrome拡張 · 100+言語","hero.title":"ブラウジングしながら<em>語学学習</em>。","hero.subtitle":"どのページでも単語をクリックで翻訳。フラッシュカードに保存、間隔反復で復習。","hero.cta":"Chromeに追加 — 無料","hero.cta_alt":"使い方を見る","hero.note":"<strong>永久無料。</strong>Premium 月$3。","trust.langs":"言語数","trust.clicks":"翻訳までのクリック","trust.words":"保存可能な単語","how.eyebrow":"仕組み","how.title":"3秒。<em>新しい単語1つ</em>。","how.subtitle":"アプリ切替不要。流れを止めない。読みながら学ぶ。","how.s1_t":"選択","how.s1_d":"わからない単語を選択。","how.s2_t":"アイコンをクリック","how.s2_d":"小さなメニューが表示 — ReadLingoのアイコンをクリック。","how.s3_t":"保存","how.s3_d":"翻訳を確認してフラッシュカードに保存。","features.eyebrow":"機能","features.title":"語彙学習に必要なすべて","features.subtitle":"ReadLingoはブラウジングを語学練習に変えます。","pricing.eyebrow":"料金","pricing.title":"シンプルな価格","pricing.subtitle":"無料で開始。いつでもアップグレード。","pricing.forever":"永久"},
1377ko:{"nav.features":"기능","nav.how":"작동 방식","nav.pricing":"가격","nav.affiliates":"제휴","nav.privacy":"개인정보","hero.badge":"Chrome 확장 · 100+ 언어","hero.title":"브라우징하면서 <em>언어를 배우세요</em>.","hero.subtitle":"어떤 페이지든 한 번의 클릭으로 단어를 번역. 플래시카드로 저장, 간격 반복으로 복습.","hero.cta":"Chrome에 추가 — 무료","hero.cta_alt":"작동 방식 보기","hero.note":"<strong>영구 무료.</strong> Premium 월 $3.","trust.langs":"언어","trust.clicks":"번역까지 클릭","trust.words":"저장 가능 단어","how.eyebrow":"작동 방식","how.title":"3초. <em>단어 하나</em>.","how.subtitle":"앱 전환 불필요. 흐름 유지. 읽으며 배우세요.","how.s1_t":"선택","how.s1_d":"모르는 단어를 선택하세요.","how.s2_t":"아이콘 클릭","how.s2_d":"작은 메뉴가 나타남 — ReadLingo 아이콘 클릭.","how.s3_t":"저장","how.s3_d":"번역을 보고 플래시카드로 저장.","features.eyebrow":"기능","features.title":"어휘 학습의 모든 것","features.subtitle":"ReadLingo는 브라우징을 언어 연습으로 바꿉니다.","pricing.eyebrow":"가격","pricing.title":"합리적인 가격","pricing.subtitle":"무료로 시작. 언제든 업그레이드.","pricing.forever":"평생"},
1378zh:{"nav.features":"功能","nav.how":"使用方式","nav.pricing":"价格","nav.affiliates":"联盟","nav.privacy":"隐私","hero.badge":"Chrome扩展 · 100+种语言","hero.title":"浏览时<em>学习语言</em>。","hero.subtitle":"任何页面单击即翻译。保存为闪卡,用间隔重复复习。","hero.cta":"添加到 Chrome — 免费","hero.cta_alt":"查看演示","hero.note":"<strong>永久免费。</strong>高级版 $3/月。","trust.langs":"语言","trust.clicks":"点击即译","trust.words":"可保存单词","how.eyebrow":"使用方式","how.title":"三秒。<em>一个新词</em>。","how.subtitle":"无需切换应用。不打断阅读。边读边学。","how.s1_t":"选择","how.s1_d":"选中页面上任何陌生的单词。","how.s2_t":"点击图标","how.s2_d":"出现一个小菜单 — 点击 ReadLingo 图标。","how.s3_t":"保存","how.s3_d":"查看翻译并一键保存为闪卡。","features.eyebrow":"功能","features.title":"学习词汇所需的一切","features.subtitle":"ReadLingo将浏览变成语言练习。","pricing.eyebrow":"价格","pricing.title":"简单实惠","pricing.subtitle":"免费开始。随时升级。","pricing.forever":"永久"},
1379ru:{"nav.features":"Функции","nav.how":"Как работает","nav.pricing":"Цены","nav.affiliates":"Партнёры","nav.privacy":"Конфиденциальность","hero.badge":"Chrome-расширение · 100+ языков","hero.title":"Учите языки <em>во время серфинга</em>.","hero.subtitle":"Переводите любое слово на любой странице одним кликом. Сохраняйте как карточку. Повторяйте.","hero.cta":"Добавить в Chrome — Бесплатно","hero.cta_alt":"Как это работает","hero.note":"<strong>Бесплатно навсегда.</strong> Премиум $3/месяц.","trust.langs":"Языков","trust.clicks":"Клика для перевода","trust.words":"Слов для сохранения","how.eyebrow":"Как работает","how.title":"Три секунды. <em>Одно новое слово</em>
1379.","how.subtitle":"Не нужно переключаться. Не нужно прерываться. Читайте и учитесь.","how.s1_t":"Выделите","how.s1_d":"Выделите незнакомое слово на странице.","how.s2_t":"Кликните значок","how.s2_d":"Появится мини-меню — кликните значок ReadLingo.","how.s3_t":"Сохраните","how.s3_d":"Посмотрите перевод и сохраните как карточку.","features.eyebrow":"Функции","features.title":"Всё для изучения лексики","features.subtitle":"ReadLingo превращает серфинг в языковую практику.","pricing.eyebrow":"Цены","pricing.title":"Простые цены","pricing.subtitle":"Начните бесплатно. Обновите когда захотите.","pricing.forever":"навсегда"},
1380ar:{"nav.features":"الميزات","nav.how":"كيف يعمل","nav.pricing":"الأسعار","nav.affiliates":"المسوقون","nav.privacy":"الخصوصية","hero.badge":"إضافة Chrome · +100 لغة","hero.title":"تعلم اللغات <em>أثناء التصفح</em>.","hero.subtitle":"ترجم أي كلمة على أي صفحة بنقرة. احفظها كبطاقة. راجع بالتكرار المتباعد.","hero.cta":"أضف إلى Chrome — مجاني","hero.cta_alt":"شاهد كيف","hero.note":"<strong>مجاني للأبد.</strong> Premium $3/شهر.","trust.langs":"لغة","trust.clicks":"نقرة للترجمة","trust.words":"كلمات قابلة للحفظ","how.eyebrow":"كيف يعمل","how.title":"ثلاث ثوان. <em>كلمة جديدة</em>.","how.subtitle":"لا تطبيق للتبديل. لا انقطاع. اقرأ وتعلم.","how.s1_t":"اختر","how.s1_d":"اختر كلمة لا تعرفها على الصفحة.","how.s2_t":"انقر الأيقونة","how.s2_d":"تظهر قائمة صغيرة — انقر أيقونة ReadLingo.","how.s3_t":"احفظ","how.s3_d":"شاهد الترجمة واحفظها كبطاقة بنقرة.","features.eyebrow":"الميزات","features.title":"كل ما تحتاجه لتعلم المفردات","features.subtitle":"ReadLingo يحول تصفحك إلى ممارسة لغوية.","pricing.eyebrow":"الأسعار","pricing.title":"أسعار بسيطة","pricing.subtitle":"ابدأ مجاناً. ترقية عندما تريد.","pricing.forever":"للأبد"},
1381hi:{"nav.features":"विशेषताएं","nav.how":"कैसे काम करता है","nav.pricing":"मूल्य","nav.affiliates":"एफिलिएट","nav.privacy":"गोपनीयता","hero.badge":"Chrome एक्सटेंशन · 100+ भाषाएं","hero.title":"ब्राउज़ करते हुए <em>भाषाएं सीखें</em>।","hero.subtitle":"किसी भी पेज पर किसी भी शब्द का एक क्लिक में अनुवाद। फ्लैशकार्ड के रूप में सहेजें।","hero.cta":"Chrome में जोड़ें — मुफ़्त","hero.cta_alt":"देखें कैसे","hero.note":"<strong>हमेशा के लिए मुफ़्त।</strong> प्रीमियम $3/माह।","trust.langs":"भाषाएं","trust.clicks":"अनुवाद के लिए क्लिक","trust.words":"सहेजने योग्य शब्द","how.eyebrow":"कैसे काम करता है","how.title":"तीन सेकंड। <em>एक नया शब्द</em>।","how.subtitle":"कोई ऐप स्विच नहीं। कोई प्रवाह नहीं टूटता।","how.s1_t":"चुनें","how.s1_d":"पेज पर कोई अज्ञात शब्द चुनें।","how.s2_t":"आइकन पर क्लिक","how.s2_d":"छोटा मेनू दिखेगा — ReadLingo आइकन पर क्लिक करें।","how.s3_t":"सहेजें","how.s3_d":"अनुवाद देखें और फ्लैशकार्ड के रूप में सहेजें।","features.eyebrow":"विशेषताएं","features.title":"शब्दावली सीखने के लिए सब कुछ","features.subtitle":"ReadLingo ब्राà
1381¤‰à¤œà¤¼à¤¿à¤‚ग को अभ्यास में बदलता है।","pricing.eyebrow":"मूल्य","pricing.title":"सरल मूल्य","pricing.subtitle":"मुफ़्त शुरू। अपग्रेड कभी भी।","pricing.forever":"हमेशा के लिए"},
1382tr:{"nav.features":"Özellikler","nav.how":"Nasıl çalışır","nav.pricing":"Fiyatlar","nav.affiliates":"Ortaklar","nav.privacy":"Gizlilik","hero.badge":"Chrome eklentisi · 100+ dil","hero.title":"Gezinirken <em>dil öğrenin</em>.","hero.subtitle":"Herhangi bir sayfadaki herhangi bir kelimeyi tek tıkla çevirin. Kart olarak kaydedin.","hero.cta":"Chrome'a Ekle — Ücretsiz","hero.cta_alt":"Nasıl çalıştığını gör","hero.note":"<strong>Sonsuza dek ücretsiz.</strong> Premium $3/ay.","trust.langs":"Dil","trust.clicks":"Çeviri için tıklama","trust.words":"Kaydedilebilir kelime","how.eyebrow":"Nasıl çalışır","how.title":"Üç saniye. <em>Bir yeni kelime</em>.","how.subtitle":"Uygulama değiştirme yok. Akış bozulmaz.","how.s1_t":"Seç","how.s1_d":"Sayfada bilmediğin bir kelime seç.","how.s2_t":"Simgeye tıkla","how.s2_d":"Küçük bir menü çıkar — ReadLingo simgesine tıkla.","how.s3_t":"Kaydet","how.s3_d":"Çeviriyi gör ve flashcard olarak kaydet.","features.eyebrow":"Özellikler","features.title":"Kelime öğrenmek için her şey","features.subtitle":"ReadLingo gezinmenizi dil pratiğine dönüştürür.","pricing.eyebrow":"Fiyatlar","pricing.title":"Basit fiyatlar","pricing.subtitle":"Ücretsiz başlayın. İstediğinizde yükseltin.","pricing.forever":"sonsuza dek"},
1383pl:{"nav.features":"Funkcje","nav.how":"Jak to działa","nav.pricing":"Ceny","nav.affiliates":"Partnerzy","nav.privacy":"Prywatność","hero.badge":"Rozszerzenie Chrome · 100+ języków","hero.title":"Ucz się języków <em>przeglądając internet</em>.","hero.subtitle":"Tłumacz każde słowo na każdej stronie jednym kliknięciem. Zapisz jako fiszkę.","hero.cta":"Dodaj do Chrome — Za darmo","hero.cta_alt":"Zobacz jak","hero.note":"<strong>Darmowe na zawsze.</strong> Premium $3/miesiąc.","trust.langs":"Języków","trust.clicks":"Kliknięć do tłumaczenia","trust.words":"Słowa do zapisania","how.eyebrow":"Jak to działa","how.title":"Trzy sekundy. <em>Jedno nowe słowo</em>.","how.subtitle":"Bez przełączania aplikacji. Bez przerywania.","how.s1_t":"Zaznacz","how.s1_d":"Zaznacz nieznane słowo na stronie.","how.s2_t":"Kliknij ikonę","how.s2_d":"Pojawia się mini menu — kliknij ikonę ReadLingo.","how.s3_t":"Zapisz","how.s3_d":"Zobacz tłumaczenie i zapisz jako fiszkę.","features.eyebrow":"Funkcje","features.title":"Wszystko do nauki słownictwa","features.subtitle":"ReadLingo zamienia przeglądanie w praktykę.","pricing.eyebrow":"Ceny","pricing.title":"Proste ceny","pricing.subtitle":"Zacznij za darmo. Ulepsz gdy chcesz.","pricing.forever":"na zawsze"},
1384nl:{"nav.features":"Functies","nav.how":"Hoe het werkt","nav.pricing":"Prijzen","nav.affiliates":"Partners","nav.privacy":"Privacy","hero.badge":"Chrome-extensie · 100+ talen","hero.title":"Leer talen <em>terwijl je surft</em>.","hero.subtitle":"Vertaal elk woord op elke pagina met één klik. Bewaar als flashcard.","hero.cta":"Toevoegen aan Chrome — Gratis","hero.cta_alt":"Zie hoe","hero.note":"<strong>Voor altijd gratis.</strong> Premium $3/maand.","trust.langs":"Talen","trust.clicks":"Kliks om te vertalen","trust.words":"Op te slaan woorden","how.eyebrow":"Hoe het werkt","how.title":"Drie seconden. <em>Eén nieuw woord</em>.","how.subtitle":"Geen app om naar te switchen. Geen onderbroken flow.","how.s1_t":"Selecteer","how.s1_d":"Selecteer een onbekend woord op de pagina.","how.s2_t":"Klik het icoon","how.s2_d":"Een mini menu verschijnt — klik op het ReadLingo-icoon.","how.s3_t":"Bewaar","how.s3_d":"Zie de vertaling en bewaar als flashcard.","features.eyebrow":"Functies","features.title":"Alles voor woordenschat","features.subtitle":"ReadLingo verandert surfen in taalpraktijk.","pricing.eyebrow":"Prijzen","pricing.title":"Eenvoudige prijzen","pricing.subtitle":"Begin gratis. Upgrade wanneer je wilt.","pricing.forever":"voor altijd"},
1385sv:{"nav.features":"Funktioner","nav.how":"SÃ¥ fungerar det","nav.pricing":"Priser","nav.affiliates":"Partners","nav.privacy":"Integritet","hero.badge":"Chrome-tillägg · 100+ sprÃ¥k","hero.title":"Lär dig sprÃ¥k <em>medan du surfar</em>.","hero.subtitle":"Översätt vilket ord som helst pÃ¥ vilken sida som helst med ett klick. Spara som flashkort.","hero.cta":"Lägg till i Chrome — Gratis","hero.cta_alt":"Se hur det funkar","hero.note":"<strong>Gratis för alltid.</strong> Premium $3/mÃ¥nad.","trust.langs":"SprÃ¥k","trust.clicks":"Klick för att översätta","trust.words":"Ord att spara","how.eyebrow":"SÃ¥ fungerar det","how.title":"Tre sekunder. <em>Ett nytt ord</em>.","how.subtitle":"Ingen app att växla till. Inget avbrutet flöde.","how.s1_t":"Markera","how.s1_d":"Markera ett ord du inte kan pÃ¥ sidan.","how.s2_t":"Klicka ikonen","how.s2_d":"En liten meny visas — klicka pÃ¥ ReadLingo-ikonen.","how.s3_t":"Spara","how.s3_d":"Se översättningen och spara som flashkort.","features.eyebrow":"Funktioner","features.title":"Allt för ordförrÃ¥d","features.subtitle":"ReadLingo förvandlar surfning till sprÃ¥kträning.","pricing.eyebrow":"Priser","pricing.title":"Enkel prissättning","pricing.subtitle":"Börja gratis. Uppgradera nÃ
1385¤r du vill.","pricing.forever":"för alltid"},
1386};
1387
1388const T = {};
1389for (const lang in _nav) { T[lang] = { ..._nav[lang], ..._x[lang] }; }
1390
1391// Demo word translations (for the hero mockup popup)
1392const _demoWord = {
1393  en: { src: "curiosity", tgt: "curiosity", lang: "EN" },
1394  pt: { src: "curiosity", tgt: "curiosidade", lang: "PT" },
1395  es: { src: "curiosity", tgt: "curiosidad", lang: "ES" },
1396  fr: { src: "curiosity", tgt: "curiosité", lang: "FR" },
1397  de: { src: "curiosity", tgt: "Neugier", lang: "DE" },
1398  it: { src: "curiosity", tgt: "curiosità", lang: "IT" },
1399  ja: { src: "curiosity", tgt: "好奇心", lang: "JA" },
1400  ko: { src: "curiosity", tgt: "호기심", lang: "KO" },
1401  zh: { src: "curiosity", tgt: "好奇心", lang: "ZH" },
1402  ru: { src: "curiosity", tgt: "любопытство", lang: "RU" },
1403  ar: { src: "curiosity", tgt: "فضول", lang: "AR" },
1404  hi: { src: "curiosity", tgt: "जिज्ञासा", lang: "HI" },
1405  tr: { src: "curiosity", tgt: "merak", lang: "TR" },
1406  pl: { src: "curiosity", tgt: "ciekawość", lang: "PL" },
1407  nl: { src: "curiosity", tgt: "nieuwsgierigheid", lang: "NL" },
1408  sv: { src: "curiosity", tgt: "nyfikenhet", lang: "SV" },
1409};
1410
1411const langSelects = [document.getElementById("lang-select"), document.getElementById("lang-select-m")];
1412function applyLang(lang) {
1413  const t = T[lang] || T.en;
1414  document.querySelectorAll("[data-t]").forEach(el => {
1415    const key = el.getAttribute("data-t");
1416    if (t[key]) el.innerHTML = t[key];
1417  });
1418  document.documentElement.lang = lang;
1419  document.documentElement.dir = (lang === "ar") ? "rtl" : "ltr";
1420  localStorage.setItem("rl-lang", lang);
1421  langSelects.forEach(s => { if (s) s.value = lang; });
1422
1423  const dw = _demoWord[lang] || _demoWord.en;
1424  const ps = document.getElementById("pop-src");
1425  const pt = document.getElementById("pop-tgt");
1426  const pl = document.getElementById("pop-lang");
1427  const dwEl = document.getElementById("demo-word");
1428  if (ps) ps.textContent = dw.src;
1429  if (pt) pt.textContent = dw.tgt;
1430  if (pl) pl.textContent = dw.lang;
1431  if (dwEl) dwEl.textContent = dw.src;
1432}
1433langSelects.forEach(s => s && s.addEventListener("change", () => applyLang(s.value)));
1434const savedLang = localStorage.getItem("rl-lang") || (navigator.language || "en").slice(0, 2);
1435applyLang(T[savedLang] ? savedLang : "en");
1436</script>
vendor: 1 bytes, line 1436
1436
1437<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"8e2786d71d624627887ebfbe08e213fd","r":1,"spa":2}' crossorigin="anonymous"></script>
1437
1438</body>
1439</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.