1<!DOCTYPE html><html lang="en" data-theme="warm-editorial" data-landing-bg="top" style="--kr-tc-textarea-min-h: 140px; --kr-tc-textarea-max-h: 320px; --kr-tc-textarea-radius: 12px; --kr-tc-textarea-padding-x: 12px; --kr-tc-textarea-padding-y: 10px; --kr-tc-textarea-font-size: 14px; --kr-tc-action-pill-h: 30px; --kr-tc-action-pill-radius: 999px; --kr-tc-action-pill-padding-x: 12px; --kr-tc-action-icon-size: 14px; --kr-tc-action-row-gap: 6px; --kr-tc-result-card-radius: 10px; --kr-tc-status-banner-padding-x: 10px; --kr-tc-status-banner-padding-y: 6px; --kr-tc-status-banner-radius: 6px; --kr-tc-menu-radius: 12px; --kr-tc-menu-min-w: 190px; --kr-cc-radius: 12px; --kr-cc-padding-x: 12px; --kr-cc-padding-top: 6px; --kr-cc-padding-bottom: 12px; --kr-cc-gap-y: 6px; --kr-cc-list-gap-y: 12px; --kr-cc-text-size: 14px; --kr-cc-text-line-h: 1.4; --kr-cc-meta-size: 12px; --kr-cc-chip-padding-x: 6px; --kr-cc-chip-padding-y: 2px; --kr-cc-chip-gap-x: 8px; --kr-cc-chip-icon-size: 12px; --kr-cc-chip-text-size: 11px; --kr-cc-favicon-size: 14px; --kr-cc-chevron-size: 16px; --kr-cc-block-padding-x: 8px; --kr-cc-block-padding-y: 6px; --kr-cc-block-gap-y: 6px;"><head> 2 <meta charset="UTF-8"> 3 <meta name="viewport" content="width=device-width, initial-scale=1, interactive-widget=resizes-content"> 4 <title>English Sentence Improver & Vocabulary Builder â KeepReap</title> 5 <meta name="description" content="Improve any sentence into natural English, translate selected text in Chrome or on your Mac, and keep the words you save through spaced review."> 6 <meta name="author" content="KeepReap"> 7 <meta name="robots" content="index, follow, max-image-preview:large"> 8 9 <!-- KP-80 FOUC prevention. Runs BEFORE the React bundle so the page 10 paints in the user's chosen theme on first frame â without this, 11 a night-theme user sees ~200ms of cool-mono white flash on every 12 reload. The 4 allowed values are duplicated from 13 frontend/src/lib/theme.ts THEMES (can't import â runs pre-bundle). 14 Adding a fifth theme is a deliberate three-file bump: 15 this script + theme.ts THEMES + the :root[data-theme] CSS block. --> 16
16<script> 17 (function () { 18 try { 19 var t = localStorage.getItem('keepreap.theme'); 20 if (t === 'warm-editorial' || t === 'editorial-ink' || t === 'night') { 21 document.documentElement.setAttribute('data-theme', t); 22 } 23 } catch (_) { 24 /* localStorage blocked (private mode, opt-out) â fall through to default theme */ 25 } 26 })(); 27 </script>
27 28 29 <!-- Favicons: flat-orange bare KR mark â single solid color, transparent 30 (no plate), 12% safe margin. Flat orange reads on both light and dark 31 tab bars. Fixed regardless of which app-icon version is active. 32 favicon.svg is the primary (modern browsers); .ico + PNGs are 33 fallbacks baked from the same mark. Generated by the colored logo 34 sets' generate.py (svg_FAVICON_b) and synced via `yarn brand:use`. --> 35 <link rel="icon" type="image/svg+xml" href="/favicon.svg"> 36 <link rel="icon" href="/favicon.ico" sizes="any"> 37 <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"> 38 <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"> 39 <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png"> 40 41 <!-- iOS / Safari. iOS auto-rounds whatever PNG is supplied; we ship a 42 bare mark on a flat white background so the icon also reads correctly 43 when displayed un-masked (Safari Pinned Tabs, browser favourites 44 bar, share-sheet previews) â no double-rounded squircle. --> 45 <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"> 46 47 <!-- PWA --> 48 <link rel="manifest" href="/manifest.json"> 49 <meta name="theme-color" content="#FFFFFF"> 50 51 <!-- prettier-ignore --> 52
52<script>window.dataLayer=window.dataLayer||[];window.gtag=window.gtag||function(){dataLayer.push(arguments)};(function(){var g='denied';try{if(localStorage.getItem('keepreap.consent')==='granted')g='granted'}catch(e){}gtag('consent','default',{ad_storage:g,ad_user_data:g,ad_personalization:g,analytics_storage:g})})();</script>
52 53 <!-- prettier-ignore --> 54
54<script async="" src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8400728111142523" crossorigin="anonymous"></script>
54 55 56 <!-- Open Graph / Twitter (KP-27). 57 Absolute URLs produced at build time by Vite HTML env substitution. 58 `VITE_WEBAPP_URL` is the single source for the public WebApp origin 59 and is shared with the extension (which uses the same env to pick 60 the sign-in popup target â see extension/src/shared/webapp-origins.ts). 61 Backend has its own equivalent `KEEPREAP_WEB_BASE_URL` (OAuth 62 callback redirect target); both MUST point at the same origin 63 per env. Local dev fallback is http://localhost:5005; crawlers 64 won't reach localhost so unfurl is not exercised there. 65 Wiring rationale + env contract: docs/runbooks/release-checklist.md 66 §"Frontend (Vite â set at build time, not runtime)". 67 Image assets are byte-copied from frontend/src/assets/logos/v2/web/ 68 via `yarn brand:sync` (KP-28) into frontend/public/. --> 69 <meta property="og:site_name" content="KeepReap"> 70 <meta property="og:locale" content="en_US"> 71 <meta property="og:title" content="English Sentence Improver & Vocabulary Builder â KeepReap"> 72 <meta property="og:description" content="Improve any sentence into natural English, translate selected text in Chrome or on your Mac, and keep the words you save through spaced review."> 73 <meta property="og:type" content="website"> 74 <meta property="og:image" content="https://www.keepreap.com/og-image.png"> 75 <meta property="og:image:width" content="1200"> 76 <meta property="og:image:height" content="630"> 77 <meta property="og:image:alt" content="KeepReap â Say it in natural English, and remember it. Chrome extension, Mac app and web."> 78 79 <meta name="twitter:card" content="summary_large_image"> 80 <meta name="twitter:title" content="English Sentence Improver & Vocabulary Builder â KeepReap"> 81 <meta name="twitter:description" content="Improve any sentence into natural English, translate selected text in Chrome or on your Mac, and keep the words you save through spaced review."> 82 <meta name="twitter:image" content="https://www.keepreap.com/og-image.png"> 83 <meta name="twitter:image:alt" content="KeepReap â Say it in natural English, and remember it. Chrome extension, Mac app and web."> 84 85
85<script type="application/ld+json"> 86 { 87 "@context": "https://schema.org", 88 "@graph": [ 89 { 90 "@type": "WebSite", 91 "@id": "https://www.keepreap.com/#website", 92 "url": "https://www.keepreap.com/", 93 "name": "KeepReap", 94 "description": "English sentence improver and vocabulary builder for people who read and write in English as a second language.", 95 "inLanguage": ["en", "ja", "zh-CN", "zh-TW", "ko", "uk", "mk", "fil", "vi"], 96 "publisher": { "@id": "https://www.keepreap.com/#organization" } 97 }, 98 { 99 "@type": "Organization", 100 "@id": "https://www.keepreap.com/#organization", 101 "name": "KeepReap", 102 "url": "https://www.keepreap.com/", 103 "logo": "https://www.keepreap.com/logo.svg", 104 "email": "[email protected]", 105 "contactPoint": { 106 "@type": "ContactPoint", 107 "contactType": "customer support", 108 "email": "[email protected]" 109 }, 110 "sameAs": [ 111 "https://chromewebstore.google.com/detail/oejbdpilpmhphopjidgpfbonoepgngim", 112 "https://github.com/ocxers/keepreap-releases/releases/latest" 113 ] 114 }, 115 { 116 "@type": "SoftwareApplication", 117 "@id": "https://www.keepreap.com/#software", 118 "name": "KeepReap", 119 "url": "https://www.keepreap.com/", 120 "description": "Improve any sentence into natural English, translate selected text in Chrome or on your Mac, and keep the words you save through spaced review.", 121 "applicationCategory": "EducationalApplication", 122 "operatingSystem": "Chrome, macOS 12 or later, any modern browser", 123 "image": "https://www.keepreap.com/og-image.png", 124 "screenshot": "https://www.keepreap.com/videos/keepreap-capture.jpg", 125 "installUrl": "https://chromewebstore.google.com/detail/oejbdpilpmhphopjidgpfbonoepgngim", 126 "downloadUrl": "https://github.com/ocxers/keepreap-releases/releases/latest", 127 "featureList": [ 128 "Improve a sentence into natural English with a word-level diff", 129 "Translate selected text in place, in Chrome and in any Mac app", 130 "Save words and sentences with the page they came from", 131 "Spaced review, daily practice and weekly checks", 132 "Read English books with look-up on hover", 133 "CEFR A1âC2 level tags on saved words" 134 ], 135 "publisher": { "@id": "https://www.keepreap.com/#organization" }, 136 "sameAs": ["https://chromewebstore.google.com/detail/oejbdpilpmhphopjidgpfbonoepgngim"], 137 "offers": { 138 "@type": "AggregateOffer", 139 "priceCurrency": "USD", 140 "lowPrice": "0", 141 "highPrice": "6", 142 "offerCount": 3, 143 "url": "https://www.keepreap.com/#pricing" 144 } 145 } 146 ] 147 } 148 </script>
148 149
149<script type="module" crossorigin="" src="/assets/index.js"></script>
149 150 <link rel="stylesheet" crossorigin="" href="/assets/index.css"> 151 <link rel="canonical" href="https://www.keepreap.com/"><meta property="og:url" content="https://www.keepreap.com/"><link rel="alternate" hreflang="en" data-keepreap-hreflang="true" href="https://www.keepreap.com/"><link rel="alternate" hreflang="x-default" data-keepreap-hreflang="true" href="https://www.keepreap.com/"><link rel="alternate" hreflang="ja" data-keepreap-hreflang="true" href="https://www.keepreap.com/ja"><link rel="alternate" hreflang="zh-CN" data-keepreap-hreflang="true" href="https://www.keepreap.com/zh-cn"><link rel="alternate" hreflang="zh-TW" data-keepreap-hreflang="true" href="https://www.keepreap.com/zh-tw"><link rel="alternate" hreflang="ko" data-keepreap-hreflang="true" href="https://www.keepreap.com/ko"><link rel="alternate" hreflang="uk" data-keepreap-hreflang="true" href="https://www.keepreap.com/uk"><link rel="alternate" hreflang="mk" data-keepreap-hreflang="true" href="https://www.keepreap.com/mk"><link rel="alternate" hreflang="fil" data-keepreap-hreflang="true" href="https://www.keepreap.com/fil"><link rel="alternate" hreflang="vi" data-keepreap-hreflang="true" href="https://www.keepreap.com/vi"></head> 152 <body> 153 <div id="root"><style> 154.kr-diff { 155 margin: 0; 156 white-space: pre-wrap; 157 line-height: 1.5; 158 font-size: 14px; 159} 160.kr-diff-ins { 161 color: var(--brand-success); 162 background: var(--brand-success-surface); 163 text-decoration: none; 164 border-radius: 2px; 165 padding: 0 1px; 166} 167.kr-diff-del { 168 color: var(--brand-danger); 169 background: var(--brand-danger-surface); 170 text-decoration: line-through; 171 border-radius: 2px; 172 padding: 0 1px; 173} 174.kr-diff-eq { 175 color: var(--brand-text-1); 176} 177 178.kr-diff-quote-wrap { 179 padding: 2px 0 2px 10px; 180 border-left: 2px solid var(--brand-border); 181} 182 183.kr-cc-card { 184 position: relative; 185 display: flex; 186 flex-direction: column; 187 background: var(--brand-bg); 188 border: 1px solid var(--brand-border-subtle); 189 border-radius: calc(var(--kr-tc-textarea-radius) + 4px); 190 padding: calc(var(--kr-tc-textarea-padding-y) + 6px) calc(var(--kr-tc-textarea-padding-x) + 6px) 191 calc(var(--kr-tc-textarea-padding-y) + 2px); 192} 193.kr-cc-card:focus-within { 194 border-color: var(--brand-text-1); 195 box-shadow: 0 0 0 3px var(--brand-surface-strong); 196} 197 198.kr-cc-card[data-chrome='none'], 199.kr-cc-card[data-chrome='none']:focus-within { 200 border: none; 201 border-radius: 0; 202 padding: 0; 203 box-shadow: none; 204} 205.kr-cc-card[data-chrome='none'] .kr-cc-input { 206 padding-right: 0; 207} 208 209.kr-cc-input-wrap { 210 position: relative; 211 display: flex; 212 flex-direction: column; 213 flex: 1 1 auto; 214 min-height: var(--kr-tc-textarea-min-h); 215} 216 217.kr-cc-input { 218 display: block; 219 width: 100%; 220 height: 100%; 221 font-family: inherit; 222 font-size: calc(var(--kr-tc-textarea-font-size) + 2px); 223 line-height: 1.65; 224 color: var(--brand-text-1); 225 background: transparent; 226 border: none; 227 border-radius: 0; 228 padding: 0 28px 0 0; 229 resize: none; 230 min-height: var(--kr-tc-textarea-min-h); 231 max-height: var(--kr-tc-textarea-max-h); 232 field-sizing: content; 233 outline: none; 234 box-shadow: none; 235} 236.kr-cc-input::placeholder { 237 color: var(--brand-text-3); 238} 239.kr-cc-input:focus { 240 outline: none; 241 border: none; 242 box-shadow: none; 243} 244 245.kr-cc-input-clear { 246 position: absolute; 247 top: -12px; 248 right: -12px; 249 width: 28px; 250 height: 28px; 251 padding: 0; 252 display: inline-flex; 253 align-items: center; 254 justify-content: center; 255 border: none; 256 background: transparent; 257 color: var(--brand-text-3); 258 border-radius: 999px; 259 cursor: pointer; 260 transition: 261 background-color 120ms, 262 color 120ms; 263} 264.kr-cc-input-clear:hover { 265 background: var(--brand-surface-strong); 266 color: var(--brand-text-1); 267} 268.kr-cc-input-clear:focus-visible { 269 outline: 2px solid var(--brand-primary); 270 outline-offset: 2px; 271} 272 273.kr-cc-divider { 274 height: 1px; 275 background: var(--brand-border-subtle); 276 margin: 14px calc(-1 * (var(--kr-tc-textarea-padding-x) + 6px)) 12px; 277} 278 279.kr-cc-footer { 280 display: flex; 281 flex-wrap: wrap; 282 align-items: center; 283 justify-content: space-between; 284 gap: 12px; 285} 286 287.kr-cc-footer-actions { 288 display: flex; 289 flex-wrap: wrap; 290 align-items: center; 291 gap: var(--kr-tc-action-row-gap); 292} 293 294.kr-cc-footer-separator { 295 display: inline-block; 296 width: 1px; 297 height: 18px; 298 margin: 0 4px; 299 background: var(--brand-border-subtle); 300 flex-shrink: 0; 301} 302 303.kr-cc-action-btn { 304 display: inline-flex; 305 align-items: center; 306 gap: var(--kr-tc-action-row-gap); 307 height: var(--kr-tc-action-pill-h); 308 padding: 0 var(--kr-tc-action-pill-padding-x); 309 border-radius: var(--kr-tc-action-pill-radius); 310 border: 1px solid var(--brand-border); 311 background: var(--brand-bg); 312 color: var(--brand-text-1); 313 font: inherit; 314 font-size: 12px; 315 font-weight: 500; 316 cursor: pointer; 317 white-space: nowrap; 318 transition: 319 background-color 120ms, 320 color 120ms, 321 border-color 120ms; 322} 323.kr-cc-action-btn:hover:not(:disabled) { 324 background: var(--brand-surface-strong); 325} 326.kr-cc-action-btn:focus-visible { 327 outline: 2px solid var(--brand-primary); 328 outline-offset: 2px; 329} 330.kr-cc-action-btn:disabled { 331 opacity: 0.5; 332 cursor: default; 333} 334.kr-cc-action-btn[data-copied='true'], 335.kr-cc-action-btn[data-saved='true'] { 336 color: var(--brand-success); 337 border-color: var(--brand-success); 338} 339 340.kr-cc-action-icon { 341 display: inline-flex; 342 align-items: center; 343 justify-content: center; 344 width: var(--kr-tc-action-icon-size); 345 height: var(--kr-tc-action-icon-size); 346 color: var(--brand-text-1); 347} 348.kr-cc-action-icon svg { 349 width: var(--kr-tc-action-icon-size); 350 height: var(--kr-tc-action-icon-size); 351 display: block; 352} 353.kr-cc-action-btn[data-copied='true'] .kr-cc-action-icon, 354.kr-cc-action-btn[data-saved='true'] .kr-cc-action-icon { 355 color: var(--brand-success); 356} 357 358.kr-cc-lang-menu { 359 position: relative; 360 display: inline-flex; 361 align-items: center; 362 gap: 6px; 363} 364.kr-cc-lang-label { 365 color: var(--brand-text-3); 366 font-size: 11px; 367 white-space: nowrap; 368} 369.kr-cc-lang-trigger { 370 display: inline-flex; 371 align-items: center; 372 gap: 4px; 373 height: 30px; 374 padding: 0 12px; 375 border-radius: 999px; 376 border: 1px solid var(--brand-border); 377 background: var(--brand-bg); 378 color: var(--brand-text-1); 379 font: inherit; 380 font-size: 12px; 381 font-weight: 500; 382 cursor: pointer; 383 white-space: nowrap; 384 box-sizing: border-box; 385 transition: 386 background-color 120ms, 387 border-color 120ms; 388} 389.kr-cc-lang-trigger:hover:not(:disabled) { 390 background: var(--brand-surface-strong); 391} 392.kr-cc-lang-trigger:focus-visible { 393 outline: 2px solid var(--brand-primary); 394 outline-offset: 2px; 395} 396.kr-cc-lang-trigger:disabled {
397 cursor: not-allowed; 398 opacity: 0.5; 399} 400.kr-cc-lang-swap { 401 display: inline-flex; 402 align-items: center; 403 justify-content: center; 404 width: 28px; 405 height: 28px; 406 border-radius: 999px; 407 border: 1px solid var(--brand-border); 408 background: var(--brand-bg); 409 color: var(--brand-text-2); 410 cursor: pointer; 411 box-sizing: border-box; 412 transition: 413 background-color 120ms, 414 color 120ms; 415} 416.kr-cc-lang-swap:hover:not(:disabled) { 417 background: var(--brand-surface-strong); 418 color: var(--brand-text-1); 419} 420.kr-cc-lang-swap:focus-visible { 421 outline: 2px solid var(--brand-primary); 422 outline-offset: 2px; 423} 424.kr-cc-lang-swap:disabled { 425 cursor: not-allowed; 426 opacity: 0.5; 427} 428.kr-cc-lang-popover { 429 position: absolute; 430 top: calc(100% + 6px); 431 right: 0; 432 z-index: 10; 433 width: 200px; 434 padding: 6px; 435 border-radius: 12px; 436 border: 1px solid var(--brand-border-subtle); 437 background: var(--brand-bg); 438 box-sizing: border-box; 439 box-shadow: 440 0 12px 32px rgba(15, 23, 42, 0.16), 441 0 4px 8px rgba(15, 23, 42, 0.1), 442 0 0 0 1px rgba(15, 23, 42, 0.04); 443} 444.kr-cc-lang-filter { 445 display: block; 446 width: 100%; 447 margin-bottom: 6px; 448 border-radius: 999px; 449 border: 1px solid var(--brand-border-subtle); 450 background: var(--brand-bg); 451 color: var(--brand-text-1); 452 padding: 6px 12px; 453 font: inherit; 454 font-size: 12px; 455 outline: none; 456 box-sizing: border-box; 457} 458.kr-cc-lang-filter::placeholder { 459 color: var(--brand-text-3); 460} 461.kr-cc-lang-filter:focus { 462 border-color: var(--brand-primary); 463} 464.kr-cc-lang-scroll { 465 overflow-y: auto; 466 max-height: 15rem; 467 margin-right: -6px; 468 padding-right: 6px; 469 box-sizing: border-box; 470} 471.kr-cc-lang-option { 472 display: block; 473 width: 100%; 474 border: none; 475 background: transparent; 476 color: var(--brand-text-1); 477 border-radius: 999px; 478 padding: 8px 10px; 479 text-align: left; 480 font: inherit; 481 font-size: 12px; 482 cursor: pointer; 483 box-sizing: border-box; 484} 485.kr-cc-lang-option:hover { 486 background: var(--brand-surface-strong); 487} 488.kr-cc-lang-option[data-active='true'] { 489 background: var(--brand-surface-strong); 490 color: var(--brand-primary); 491 font-weight: 600; 492} 493.kr-cc-lang-empty { 494 padding: 6px 10px; 495 color: var(--brand-text-3); 496 font-size: 12px; 497} 498.kr-cc-lang-manage-row { 499 margin-top: 6px; 500 padding-top: 6px; 501 border-top: 1px solid var(--brand-border-subtle); 502} 503.kr-cc-lang-manage { 504 display: block; 505 width: 100%; 506 border: none; 507 background: transparent; 508 border-radius: 999px; 509 padding: 6px 10px; 510 text-align: left; 511 font: inherit; 512 font-size: 11px; 513 font-weight: 500; 514 color: var(--brand-text-3); 515 cursor: pointer; 516 box-sizing: border-box; 517} 518.kr-cc-lang-manage:hover {
519 color: var(--brand-text-1); 520} 521 522.kr-cc-resize-handle { 523 position: absolute; 524 bottom: 0; 525 right: 0; 526 display: inline-flex; 527 align-items: center; 528 justify-content: center; 529 width: 16px; 530 height: 16px; 531 padding: 0; 532 border: none; 533 background: transparent; 534 color: var(--brand-text-3); 535 cursor: ns-resize; 536} 537.kr-cc-resize-handle:hover { 538 color: var(--brand-text-1); 539} 540 541[data-testid='kr-compose-draft-zone'] > .kr-cc-overlay-actions { 542 top: 18px; 543 right: 0; 544} 545[data-testid='kr-compose-draft-zone']:hover > .kr-cc-overlay-actions, 546[data-testid='kr-compose-draft-zone'] .kr-cc-overlay-actions:focus-within { 547 opacity: 1; 548 pointer-events: auto; 549} 550@media (hover: none) { 551 [data-testid='kr-compose-draft-zone'] > .kr-cc-overlay-actions { 552 opacity: 1; 553 pointer-events: auto; 554 } 555} 556 557.kr-cc-draft-zone { 558 position: relative; 559 background: transparent; 560} 561 562.kr-cc-draft-divider { 563 height: 1px; 564 background: color-mix(in srgb, var(--brand-border-subtle) 65%, transparent); 565 margin: 0; 566} 567 568.kr-cc-draft-chip { 569 position: absolute; 570 left: 14px; 571 top: 0; 572 transform: translateY(calc(-50% + 0.5px)); 573 background: var(--kr-draft-chip-bg, var(--brand-surface)); 574 z-index: 2; 575 display: inline-flex; 576 align-items: center; 577 gap: 6px; 578 border-radius: 999px; 579 padding: 3px 10px 3px 9px; 580 font-size: 10px; 581 color: var(--brand-text-2); 582 text-transform: uppercase; 583 letter-spacing: 0.06em; 584 font-weight: 600; 585 line-height: 1; 586} 587 588.kr-cc-draft-dot { 589 width: 5px; 590 height: 5px; 591 border-radius: 50%; 592 background: var(--brand-accent-teal); 593 animation: kr-cc-draft-pulse 1.8s ease-in-out infinite; 594} 595 596.kr-cc-draft-text { 597 padding-top: 22px; 598 color: var(--brand-text-2); 599 font-size: 14px; 600 line-height: 1.55; 601 font-style: italic; 602 white-space: pre-wrap; 603 max-height: 140px; 604 overflow-y: auto; 605} 606 607.kr-cc-draft-word-ruby { 608 padding-top: 28px; 609 color: var(--brand-text-2); 610 font-size: 22px; 611 line-height: 1.6; 612 font-style: normal; 613 max-height: 140px; 614 overflow-y: auto; 615} 616 617.kr-cc-draft-source-ruby { 618 padding-top: 22px; 619 color: var(--brand-text-2); 620 font-size: 18px; 621 line-height: 1.55; 622 font-style: normal; 623 margin-bottom: 4px; 624} 625 626.kr-cc-draft-source-ruby ruby { 627 margin-right: 1px; 628} 629 630.kr-cc-draft-source-ruby rt { 631 font-size: 10px; 632 color: var(--brand-text-3); 633 font-style: normal; 634 font-weight: 400; 635 letter-spacing: 0.04em; 636 margin-bottom: 2px; 637 font-family: ui-monospace, 'SF Mono', monospace; 638} 639 640.kr-cc-draft-word-ruby ruby { 641 margin-right: 1px; 642} 643 644.kr-cc-draft-word-ruby rt { 645 font-size: 10px; 646 color: var(--brand-text-3); 647 font-style: normal; 648 font-weight: 400; 649 letter-spacing: 0.04em; 650 margin-bottom: 2px; 651 font-family: ui-monospace, 'SF Mono', monospace; 652} 653 654.kr-cc-draft-dismiss { 655 display: inline-flex; 656 align-items: center; 657 justify-content: center; 658 width: 24px; 659 height: 24px; 660 padding: 0; 661 border: none; 662 background: transparent; 663 color: var(--brand-text-3); 664 border-radius: 999px; 665 cursor: pointer; 666 flex-shrink: 0; 667} 668.kr-cc-draft-dismiss:hover { 669 color: var(--brand-text-1); 670 background: var(--brand-surface-strong); 671} 672 673@keyframes kr-cc-draft-pulse { 674 0%, 100% { 675 transform: scale(1); 676 opacity: 1; 677 } 678 50% { 679 transform: scale(1.5); 680 opacity: 0.55; 681 } 682} 683 684.kr-cc-draft-entering { 685 animation: kr-cc-draft-enter 0.36s cubic-bezier(0.16, 1, 0.3, 1) both; 686} 687 688.kr-cc-draft-leaving { 689 animation: kr-cc-draft-leave 0.2s cubic-bezier(0.4, 0, 0.2, 1) both; 690} 691 692@keyframes kr-cc-draft-enter { 693 from { 694 opacity: 0; 695 transform: translateY(8px); 696 } 697 to { 698 opacity: 1; 699 transform: translateY(0); 700 } 701} 702 703@keyframes kr-cc-draft-leave { 704 from { 705 opacity: 1; 706 transform: translateY(0); 707 } 708 to { 709 opacity: 0; 710 transform: translateY(8px); 711 } 712} 713 714@media (prefers-reduced-motion: reduce) { 715 .kr-cc-draft-entering, 716 .kr-cc-draft-leaving { 717 animation-duration: 0.01s; 718 } 719 .kr-cc-draft-dot { 720 animation: none; 721 } 722} 723 724.kr-score { 725 display: inline-flex; 726 align-items: center; 727 gap: 0.35em; 728 border-radius: 999px; 729 font-size: 11px; 730 font-weight: 600; 731 letter-spacing: 0.02em; 732 line-height: 1; 733 padding: 0.45em 0.7em; 734 white-space: nowrap; 735} 736.kr-score-text { 737 min-width: 0; 738 white-space: nowrap; 739} 740.kr-score--weak { 741 color: var(--brand-danger); 742 background: var(--brand-danger-surface); 743} 744.kr-score--fair { 745 color: var(--brand-warning); 746 background: var(--brand-warning-surface); 747} 748.kr-score--good { 749 color: var(--brand-accent-teal); 750 background: var(--brand-surface-2); 751} 752.kr-score--excellent { 753 color: var(--brand-success); 754 background: var(--brand-success-surface); 755} 756 757.win-shell .label-row { 758 position: relative; 759 display: flex; 760 align-items: center; 761 justify-content: space-between; 762 width: 100%; 763 margin: 8px 0 4px; 764 min-height: 22px; 765} 766 767.win-shell .label-row .label { 768 flex: 1 1 auto; 769 min-width: 0; 770} 771
772/* a result column can be narrower than its own caption plus controls, and the 773 controls are what the row is for. this whole group is scoped to the surfaces 774 that carry the in-frame toggle: the translate window predates it and must 775 keep the wrapping it has always had. */ 776 777.win-shell[data-toggle='in-frame'] .label-row .label { 778 overflow: hidden; 779 text-overflow: ellipsis; 780 white-space: nowrap; 781} 782 783.win-shell[data-toggle='in-frame'] .win-label-with-score { 784 flex: 0 1 auto; 785 min-width: 0; 786} 787 788.win-shell[data-toggle='in-frame'] .win-label-with-score > :not(.label) { 789 display: inline-flex; 790 flex: 0 1 auto; 791 min-width: 0; 792} 793 794/* truncate inside the badge, never at the group, so nothing an implementation 795 hangs off the group â a tooltip, a focus ring â is at the mercy of this rule. 796 the ellipsis is the point: a hard cut turns "7 / 10" into a different, 797 plausible-looking number. */ 798 799.win-shell[data-toggle='in-frame'] .win-label-with-score .kr-score { 800 min-width: 0; 801} 802 803.win-shell[data-toggle='in-frame'] .win-label-with-score .kr-score-text { 804 min-width: 0; 805 overflow: hidden; 806 text-overflow: ellipsis; 807} 808 809.win-shell[data-toggle='in-frame'] .win-label-with-score .kr-score > [aria-hidden='true'] { 810 flex: 0 0 auto; 811} 812 813.win-shell .label-row:first-child { 814 margin-top: 0; 815} 816 817.win-shell .label { 818 font-size: 10px; 819 font-weight: 600; 820 text-transform: uppercase; 821 letter-spacing: 0.04em; 822 color: var(--brand-text-2); 823} 824 825.win-shell .copy-inline { 826 width: 18px; 827 height: 18px; 828 border: none; 829 background: transparent; 830 border-radius: 999px; 831 color: var(--brand-text-3); 832 cursor: pointer; 833 display: inline-flex; 834 align-items: center; 835 justify-content: center; 836 padding: 0; 837} 838 839.win-shell .copy-inline:hover { 840 background: var(--brand-surface-strong); 841 color: var(--brand-text-1); 842} 843 844.win-shell .copy-inline svg { 845 width: 12px; 846 height: 12px; 847} 848 849.win-shell .copy-inline[data-copied='true'] { 850 color: var(--brand-success); 851} 852 853.win-shell .speak-inline { 854 width: 18px; 855 height: 18px; 856 border: none; 857 background: transparent; 858 border-radius: 999px; 859 color: var(--brand-text-3); 860 cursor: pointer; 861 display: inline-flex; 862 align-items: center; 863 justify-content: center; 864 padding: 0; 865} 866 867.win-shell .speak-inline:hover { 868 background: var(--brand-surface-strong); 869 color: var(--brand-text-1); 870} 871 872.win-shell .speak-inline svg { 873 width: 12px; 874 height: 12px; 875} 876 877.win-shell .speak-inline[data-active='true'] { 878 color: var(--brand-primary); 879} 880 881.win-shell .kr-cc-overlay-actions { 882 position: absolute; 883 top: var(--kr-cc-block-padding-y); 884 right: var(--kr-cc-block-padding-x); 885 display: inline-flex; 886 align-items: center; 887 gap: 4px; 888 z-index: 2; 889 opacity: 0; 890 pointer-events: none; 891 transition: opacity 120ms ease; 892 padding: 2px 6px; 893 border-radius: 999px; 894 background: color-mix(in srgb, var(--brand-canvas, var(--brand-bg)) 78%, transparent); 895 border: 1px solid color-mix(in srgb, var(--brand-border) 40%, transparent); 896 backdrop-filter: blur(8px); 897 -webkit-backdrop-filter: blur(8px); 898 box-shadow: 0 1px 4px color-mix(in srgb, var(--brand-text-1) 7%, transparent); 899} 900 901.win-shell .kr-cc-overlay-actions .copy-inline:hover, 902.win-shell .kr-cc-overlay-actions .speak-inline:hover { 903 background: color-mix(in srgb, var(--brand-border) 72%, var(--brand-canvas, var(--brand-bg)) 28%); 904 color: var(--brand-text-1); 905} 906 907@media (hover: none) { 908 .win-shell .kr-cc-overlay-actions { 909 opacity: 1; 910 pointer-events: auto; 911 } 912} 913 914.win-shell .kr-tip { 915 position: relative; 916 display: inline-flex; 917 align-items: center; 918} 919 920.win-shell .kr-tip-content { 921 position: absolute; 922 top: calc(100% + 6px); 923 left: 50%; 924 transform: translateX(-50%) translateY(-2px); 925 z-index: 10; 926 max-width: 220px; 927 width: max-content; 928 padding: 6px 8px; 929 border-radius: 8px; 930 background: var(--brand-surface-dark-elevated, #2c2c2e); 931 color: #fff; 932 font-size: 11px; 933 line-height: 1.4; 934 white-space: pre-wrap; 935 text-align: left; 936 box-shadow: 0 4px 14px rgba(0, 0, 0, 0.28); 937 opacity: 0; 938 pointer-events: none; 939 transition: 940 opacity 120ms ease 200ms, 941 transform 120ms ease 200ms; 942} 943 944.win-shell .kr-tip:hover > .kr-tip-content { 945 opacity: 1; 946 transform: translateX(-50%) translateY(0); 947} 948 949.win-shell .kr-tip:has(:focus-visible) > .kr-tip-content { 950 opacity: 1; 951 transform: translateX(-50%) translateY(0); 952} 953 954.win-shell .error { 955 color: var(--brand-danger); 956 background: var(--brand-danger-surface); 957 padding: 8px; 958 border-radius: 4px; 959} 960 961.win-shell .error-block { 962 display: flex; 963 flex-direction: column; 964 align-items: flex-start; 965 gap: 8px; 966} 967 968.win-shell .header-quota { 969 border: 1px solid var(--brand-border); 970 background: var(--brand-surface); 971 color: var(--brand-text-2); 972 font-size: 11px; 973 font-weight: 600; 974 line-height: 1; 975 padding: 4px 8px; 976 border-radius: 999px; 977 cursor: pointer; 978 white-space: nowrap; 979} 980 981.win-shell .header-quota:hover { 982 background: var(--brand-surface-strong); 983 color: var(--brand-text-1); 984} 985 986.win-shell .header-quota[data-warn='soft'] { 987 color: var(--brand-warning, #b25000); 988 border-color: var(--brand-warning, #b25000); 989} 990 991.win-shell .header-quota[data-warn='critical'] { 992 color: var(--brand-danger); 993 border-color: var(--brand-danger); 994} 995 996.win-shell .fallback { 997 display: flex; 998 align-items: center; 999 justify-content: space-between; 1000 gap: 8px; 1001 background: var(--brand-warning-surface); 1002 color: var(--brand-warning); 1003 padding: 6px 8px; 1004 border-radius: 4px; 1005 margin-bottom: 8px; 1006 font-size: 11px; 1007} 1008 1009.win-shell .fallback-login-btn { 1010 flex-shrink: 0; 1011 height: 22px; 1012 padding: 0 10px; 1013 border-radius: 999px; 1014 border: 1px solid var(--brand-warning); 1015 background: transparent; 1016 color: var(--brand-warning); 1017 font-size: 11px; 1018 font-weight: 600; 1019 cursor: pointer; 1020 font-family: inherit; 1021 white-space: nowrap; 1022} 1023 1024.win-shell .fallback-login-btn:hover { 1025 background: var(--brand-warning); 1026 color: white; 1027} 1028 1029.win-shell .error-login-cta { 1030 align-self: flex-start; 1031} 1032 1033.win-shell .save-failed { 1034 color: var(--brand-danger); 1035 font-size: 12px; 1036 padding: 8px 0 0; 1037} 1038 1039.win-shell .kr-loading-state { 1040 display: flex; 1041 flex-direction: row; 1042 align-items: center; 1043 justify-content: flex-start; 1044 align-self: stretch; 1045 padding: 4px 0 8px; 1046 gap: 10px; 1047} 1048 1049.win-shell .kr-loading-label { 1050 font-size: 12px; 1051 color: var(--brand-text-2); 1052} 1053 1054.win-shell .kr-spinner { 1055 display: inline-block; 1056 border-radius: 50%; 1057 border: 2px solid var(--brand-border); 1058 border-top-color: var(--brand-text-1); 1059 animation: kr-spin 0.7s linear infinite; 1060 flex-shrink: 0; 1061} 1062 1063.win-shell .kr-spinner-section { 1064 width: 16px; 1065 height: 16px; 1066} 1067 1068.win-shell .kr-diff-quote-wrap { 1069 margin: 6px 0; 1070} 1071 1072.win-shell { 1073 --win-bar-clearance: 62px; 1074 container: win-shell / inline-size; 1075 position: relative; 1076 display: flex; 1077 flex-direction: column; 1078 height: 100%; 1079 min-height: 0; 1080 color: var(--brand-text-1); 1081 font-size: 13px; 1082} 1083 1084/* ---------- body: two independent scroll regions ---------- */ 1085 1086.win-body { 1087 position: relative; 1088 flex: 1 1 auto; 1089 min-height: 0; 1090 min-width: 0; 1091 display: flex; 1092 flex-direction: column; 1093} 1094 1095.win-body[data-layout='h'][data-split='true'] { 1096 flex-direction: row; 1097} 1098 1099.win-pad { 1100 padding: 0 18px; 1101} 1102 1103.win-shell .win-source { 1104 background: var(--brand-canvas, var(--brand-bg)); 1105} 1106 1107.win-source { 1108 flex: 0 0 auto; 1109 position: relative; 1110 display: flex; 1111 flex-direction: column; 1112 min-height: 0; 1113 min-width: 0; 1114} 1115 1116.win-source-scroll { 1117 flex: 1 1 auto; 1118 min-height: 0; 1119 overflow-y: auto; 1120 padding: 12px 0 20px; 1121} 1122 1123.win-body[data-split='false'] .win-source-scroll { 1124 max-height: 232px; 1125} 1126 1127.win-source .kr-cc-input { 1128 height: auto; 1129 min-height: 52px; 1130 max-height: none; 1131 padding: 0; 1132 font-size: 16px; 1133 line-height: 1.6; 1134 field-sizing: content; 1135} 1136 1137.win-source-foot { 1138 flex: 0 0 auto; 1139 padding-top: 10px; 1140 padding-bottom: 10px; 1141} 1142 1143.win-source-foot[data-empty='true'] { 1144 display: none; 1145} 1146 1147.win-source-foot .kr-cc-draft-chip { 1148 left: 18px; 1149} 1150 1151.win-source-foot .kr-cc-draft-chip[data-kind='notice'] { 1152 background: var(--brand-warning-surface); 1153 color: var(--brand-warning); 1154} 1155 1156/* unsplit with no result yet: the result column used to hold every leftover 1157 pixel while the input and the live draft sat under fixed px caps, so a long 1158 draft was clipped above a band of empty canvas. Collapse the empty column and 1159 let the source card own the height instead. COMPOSER_DRAFT_PREVIEW_CSS keeps 1160 its 140px draft cap as the default for card surfaces that are not a workbench. */ 1161 1162.win-body[data-split='false'][data-result='none'] > .win-source { 1163 flex: 1 1 auto; 1164} 1165 1166.win-body[data-split='false'][data-result='none'] .win-source-scroll { 1167 flex: 0 1 auto; 1168 max-height: none; 1169} 1170 1171/* the draft is the thing being read, so it claims what it needs first, up to 1172 most of the card, and the input takes the remainder and scrolls. Leftover 1173 height inside a textarea reads as room to keep typing; leftover height under 1174 a clipped draft is the bug this rule exists to remove. */ 1175 1176.win-body[data-split='false'][data-result='none'] .win-source-foot { 1177 flex: 0 0 auto; 1178 min-height: 0; 1179 max-height: 60%; 1180 display: flex; 1181 flex-direction: column; 1182} 1183 1184.win-body[data-split='false'][data-result='none'] .kr-cc-draft-zone { 1185 flex: 1 1 auto; 1186 min-height: 0; 1187 display: flex; 1188 flex-direction: column; 1189} 1190 1191.win-body[data-split='false'][data-result='none'] .kr-cc-draft-text, 1192.win-body[data-split='false'][data-result='none'] .kr-cc-draft-word-ruby { 1193 flex: 1 1 auto; 1194 min-height: 0; 1195 max-height: none; 1196} 1197 1198.win-body[data-split='false'][data-result='none'] > .win-result-scroll { 1199 flex: 0 0 auto; 1200 padding: 0; 1201} 1202 1203/* nothing sits below the card now, so whichever pane ends it pads itself by the 1204 bar's height: the draft when there is one, the input when there is not. The 1205 bar then overlays live text and the last line clears it at the end of the 1206 scroll, instead of the card stopping short of a reserved band. */ 1207 1208.win-body[data-split='false'][data-result='none'] .kr-cc-draft-text, 1209.win-body[data-split='false'][data-result='none'] .kr-cc-draft-word-ruby { 1210 padding-bottom: var(--win-bar-clearance); 1211} 1212 1213.win-body[data-split='false'][data-result='none'] 1214 .win-source:has(> .win-source-foot[data-empty='true']) 1215 .win-source-scroll { 1216 padding-bottom: var(--win-bar-clearance); 1217} 1218 1219.win-source-foot { 1220 position: relative; 1221} 1222 1223.win-draft-resize.kr-resize-divider[data-orientation='horizontal'] { 1224 position: absolute; 1225 top: 6px; 1226 left: 0; 1227 right: 0; 1228 margin: 0; 1229 z-index: 1; 1230} 1231 1232.win-source-foot:has(> .win-draft-resize) .kr-cc-draft-divider { 1233 visibility: hidden; 1234} 1235 1236.win-body[data-split='false'][data-result='none'] 1237 .win-source:has(> .win-source-scroll[data-sized='true']) 1238 > .win-source-foot { 1239 flex: 0 1 auto; 1240 max-height: none; 1241} 1242 1243.win-source-foot .kr-cc-draft-chip[data-kind='notice'] .kr-cc-draft-dot { 1244 background: var(--brand-warning); 1245 animation: none; 1246} 1247 1248.win-source-foot .kr-cc-draft-text, 1249.win-source-foot .kr-cc-draft-word-ruby, 1250.win-source-foot .kr-cc-draft-source-ruby { 1251 padding-left: 18px; 1252 padding-right: 74px; 1253} 1254 1255.win-counter { 1256 position: absolute; 1257 right: 18px; 1258 bottom: 7px; 1259 padding-left: 20px; 1260 font-size: 11px; 1261 color: var(--brand-text-3); 1262 font-variant-numeric: tabular-nums; 1263 background: linear-gradient(to right, transparent, var(--brand-canvas, var(--brand-bg)) 16px); 1264 pointer-events: none; 1265} 1266 1267.win-counter[data-over='true'] { 1268 color: var(--brand-danger); 1269 font-weight: 600; 1270} 1271 1272/* it floats over the first line, so in a narrow pane it would sit on the text â 1273 it appears when the pointer comes for it, the way the result blocks' own 1274 copy/speak already do, and fades the text under it while it is there. 1275 1276 the reveal is keyed on the input's own scrollport, never on the source card: 1277 unsplit with no result the card stretches to the whole shell, so a hover on 1278 the card put the cluster up from anywhere in the workbench. the cluster is a 1279 sibling of the scrollport rather than a descendant, so reaching for it ends 1280 the hover that revealed it â it holds itself open on the way in. */ 1281 1282.win-input-acts { 1283 position: absolute; 1284 top: 6px; 1285 right: 12px; 1286 z-index: 3; 1287 display: none; 1288 align-items: center; 1289 gap: 1px; 1290 padding-left: 26px; 1291 background: linear-gradient(to right, transparent, var(--brand-canvas, var(--brand-bg)) 22px); 1292 opacity: 0; 1293 transition: opacity 120ms ease; 1294} 1295 1296.win-input-acts[data-show='true'] { 1297 display: inline-flex; 1298} 1299 1300.win-source:has(> .win-source-scroll:hover) .win-input-acts[data-show='true'], 1301.win-input-acts[data-show='true']:hover, 1302.win-input-acts[data-show='true']:focus-within { 1303 opacity: 1; 1304} 1305 1306@media (hover: none) { 1307 .win-input-acts[data-show='true'] { 1308 opacity: 1; 1309 } 1310 1311 .win-source-scroll > .win-pad { 1312 padding-top: 34px; 1313 } 1314 1315 .win-float-bar .kr-tip-content { 1316 display: none; 1317 } 1318} 1319 1320.win-shell[data-typing='true'] .win-input-acts[data-show='true']:not(:focus-within), 1321.win-shell[data-typing='true'] .win-layout-toggle:not(:focus-within) { 1322 opacity: 0; 1323 pointer-events: none; 1324} 1325 1326.win-shell[data-typing='true'] .win-layout-toggle:not(:focus-within) button { 1327 pointer-events: none; 1328} 1329 1330/* ---------- divider: the line itself is the handle ---------- */ 1331 1332.win-divider { 1333 flex: 0 0 auto; 1334 position: relative; 1335 height: 13px; 1336 padding: 0; 1337 border: none; 1338 background: transparent; 1339 cursor: row-resize; 1340 touch-action: none; 1341} 1342 1343.win-body[data-split='false'] .win-divider { 1344 display: none; 1345} 1346 1347.win-divider-line { 1348 position: absolute; 1349 left: 0; 1350 right: 0; 1351 top: 50%; 1352 height: 1px; 1353 margin-top: -0.5px; 1354 background: var(--brand-border-subtle); 1355 transition: opacity 180ms ease; 1356} 1357 1358.win-divider-grip { 1359 position: absolute; 1360 top: 50%; 1361 left: 50%; 1362 width: 32px; 1363 height: 3px; 1364 margin-top: -1.5px; 1365 border-radius: 999px; 1366 background: var(--brand-border); 1367 transform: translateX(-50%); 1368 transition: 1369 width 240ms cubic-bezier(0.16, 1, 0.3, 1), 1370 border-radius 240ms cubic-bezier(0.16, 1, 0.3, 1), 1371 background-color 180ms ease; 1372} 1373 1374.win-divider:hover .win-divider-grip, 1375.win-divider:focus-visible .win-divider-grip, 1376.win-divider[data-dragging='true'] .win-divider-grip { 1377 width: 100%; 1378 border-radius: 0; 1379} 1380 1381.win-divider:hover .win-divider-line, 1382.win-divider:focus-visible .win-divider-line, 1383.win-divider[data-dragging='true'] .win-divider-line { 1384 opacity: 0; 1385} 1386 1387.win-divider:hover .win-divider-grip, 1388.win-divider:focus-visible .win-divider-grip { 1389 background: var(--brand-text-3); 1390} 1391 1392.win-divider[data-dragging='true'] .win-divider-grip { 1393 background: var(--brand-text-1); 1394} 1395 1396.win-body[data-layout='h'][data-split='true'] .win-divider { 1397 width: 13px; 1398 height: auto; 1399 cursor: col-resize; 1400} 1401 1402.win-body[data-layout='h'][data-split='true'] .win-divider-line { 1403 left: 50%; 1404 right: auto; 1405 top: 0; 1406 bottom: 0; 1407 width: 1px; 1408 height: auto; 1409 margin-top: 0; 1410 margin-left: -0.5px; 1411} 1412 1413.win-body[data-layout='h'][data-split='true'] .win-divider-grip { 1414 top: 50%; 1415 left: 50%; 1416 width: 3px; 1417 height: 32px; 1418 margin-top: -16px; 1419 margin-left: -1.5px; 1420 transform: none; 1421 transition: 1422 height 240ms cubic-bezier(0.16, 1, 0.3, 1), 1423 border-radius 240ms cubic-bezier(0.16, 1, 0.3, 1), 1424 background-color 180ms ease; 1425} 1426 1427.win-body[data-layout='h'][data-split='true'] .win-divider:hover .win-divider-grip, 1428.win-body[data-layout='h'][data-split='true'] .win-divider:focus-visible .win-divider-grip, 1429.win-body[data-layout='h'][data-split='true'] .win-divider[data-dragging='true'] .win-divider-grip { 1430 top: 0; 1431 width: 3px; 1432 height: 100%; 1433 margin-top: 0; 1434} 1435 1436/* the floating bar sits at the bottom of the input pane in side-by-side, so the 1437 pane's own bottom furniture has to clear it */ 1438 1439.win-body[data-layout='h'][data-split='true'] .win-source { 1440 padding-bottom: 62px; 1441} 1442 1443.win-body[data-layout='h'][data-split='true'] .win-counter { 1444 bottom: 69px; 1445} 1446 1447/* the divider's 13px band is a drag target, not content, so the edges beside it 1448 pull in by half of it â otherwise everything against the divider reads 6px 1449 further out than everything against the window */ 1450 1451.win-body[data-layout='h'][data-split='true'] .win-input-acts { 1452 right: 6px; 1453} 1454 1455.win-body[data-layout='h'][data-split='true'] .win-counter { 1456 right: 12px; 1457} 1458 1459.win-body[data-layout='h'][data-split='true'] .win-source-foot .kr-cc-draft-text, 1460.win-body[data-layout='h'][data-split='true'] .win-source-foot .kr-cc-draft-wor
1460d-ruby, 1461.win-body[data-layout='h'][data-split='true'] .win-source-foot .kr-cc-draft-source-ruby { 1462 padding-right: 68px; 1463} 1464 1465.win-body[data-layout='h'][data-split='true'] .win-result-scroll > .win-pad { 1466 padding-left: 12px; 1467} 1468 1469/* the bar only clears the result column while it is centred on the input pane; 1470 once it falls back to the window it covers both, so the padding comes back */ 1471 1472.win-body[data-layout='h'][data-split='true'] .win-result-scroll { 1473 padding-top: 12px; 1474} 1475 1476/* ---------- result region ---------- */ 1477 1478.win-result-scroll { 1479 flex: 1 1 auto; 1480 min-height: 0; 1481 min-width: 0; 1482 overflow-y: auto; 1483 padding: 14px 0; 1484 display: flex; 1485 flex-direction: column; 1486} 1487 1488/* bottom clearance pads the content rather than shortening the scrollport, so 1489 the bar overlays live text instead of sitting in a reserved dead band, and the 1490 last line still clears it at the very end of the scroll. Same shape macapp 1491 uses for its kept document (.win-kept-pad). */ 1492 1493.win-body[data-bar='window']:not([data-result='none']) 1494 .win-result-scroll:not([data-empty='true']) 1495 > .win-pad { 1496 padding-bottom: var(--win-bar-clearance); 1497} 1498 1499.win-result-scroll > .win-pad { 1500 flex: 1 0 auto; 1501 display: flex; 1502 flex-direction: column; 1503} 1504 1505.win-source-scroll, 1506.win-result-scroll { 1507 scrollbar-width: thin; 1508 scrollbar-color: color-mix(in srgb, var(--brand-text-1) 22%, transparent) transparent; 1509} 1510 1511.win-surface { 1512 flex: 1 0 auto; 1513 display: flex; 1514 flex-direction: column; 1515 min-height: 0; 1516} 1517 1518.win-result-body { 1519 flex: 0 0 auto; 1520} 1521 1522.win-label-actions { 1523 display: inline-flex; 1524 align-items: center; 1525 gap: 2px; 1526 flex: 0 0 auto; 1527 margin-right: -3px; 1528} 1529 1530.win-shell .win-result-scroll .label-row { 1531 margin: 0 0 6px; 1532 min-height: 24px; 1533} 1534 1535.win-result-dismiss { 1536 width: 18px; 1537 height: 18px; 1538 padding: 0; 1539 border: none; 1540 border-radius: 999px; 1541 background: transparent; 1542 color: var(--brand-text-3); 1543 cursor: pointer; 1544 display: inline-flex; 1545 align-items: center; 1546 justify-content: center; 1547} 1548 1549.win-result-dismiss:hover { 1550 background: var(--brand-surface-strong); 1551 color: var(--brand-text-1); 1552} 1553 1554.win-result-dismiss svg { 1555 width: 12px; 1556 height: 12px; 1557} 1558 1559/* the window is a workbench, not a 279pt bubble â the result blocks get room */ 1560 1561.win-shell .win-result-scroll .win-block { 1562 margin: 0; 1563 padding: 0; 1564 background: transparent; 1565 border: none; 1566 border-radius: 0; 1567 white-space: pre-wrap; 1568} 1569 1570.win-shell .win-result-scroll .win-block + .label-row { 1571 margin-top: 18px; 1572} 1573 1574.win-shell .win-result-scroll .translation { 1575 font-size: 16px; 1576 line-height: 1.62; 1577 color: var(--brand-text-1); 1578} 1579 1580.win-shell .win-result-scroll .original { 1581 font-size: 14px; 1582 line-height: 1.6; 1583 color: var(--brand-text-2); 1584} 1585 1586.win-shell .win-result-scroll .improved { 1587 font-size: 16px; 1588 line-height: 1.62; 1589 color: var(--brand-text-1); 1590} 1591 1592.win-shell .win-result-scroll .alt { 1593 font-size: 14px; 1594 line-height: 1.6; 1595 color: var(--brand-body); 1596} 1597 1598.win-shell .win-result-scroll .note { 1599 font-size: 12.5px; 1600 line-height: 1.65; 1601 color: var(--brand-text-2); 1602} 1603 1604.win-shell .win-result-scroll .meanings { 1605 display: flex; 1606 flex-direction: column; 1607 gap: 7px; 1608 list-style: none; 1609 padding-left: 0; 1610 white-space: normal; 1611} 1612 1613.win-shell .win-result-scroll .meanings li { 1614 margin: 0; 1615 font-size: 13px; 1616 line-height: 1.55; 1617 color: var(--brand-body); 1618} 1619 1620.win-shell .win-result-scroll .meanings .term { 1621 font-weight: 600; 1622 color: var(--brand-text-1); 1623} 1624 1625.win-result-scroll .kr-loading-state { 1626 flex: 1 0 auto; 1627 flex-direction: column; 1628 align-items: center; 1629 justify-content: center; 1630 gap: 12px; 1631} 1632 1633.win-result-cta-group { 1634 display: inline-flex; 1635 align-items: center; 1636 gap: 6px; 1637 flex-shrink: 0; 1638} 1639 1640/* ---------- empty state ---------- */ 1641 1642.win-empty { 1643 flex: 1 0 auto; 1644 display: flex; 1645 flex-direction: column; 1646 align-items: center; 1647 justify-content: center; 1648 gap: 14px; 1649 color: var(--brand-text-3); 1650 text-align: center; 1651} 1652 1653/* stacked and empty, the placeholder belongs to the whole content area rather 1654 than to the result region under it â minus the strip the floating bar covers */ 1655 1656.win-result-scroll[data-empty='true'] { 1657 overflow: visible; 1658} 1659 1660.win-body[data-split='false'] .win-result-scroll[data-empty='true'] .win-empty { 1661 position: absolute; 1662 left: 0; 1663 right: 0; 1664 top: 0; 1665 bottom: 58px; 1666 pointer-events: none; 1667} 1668 1669/* the placeholder is laid over the whole content area, composer included, so it 1670 has to let the pointer through â otherwise the input cannot be clicked while 1671 it is up. its own controls opt back in. */ 1672 1673.win-body[data-split='false'] .win-result-scroll[data-empty='true'] .win-empty button { 1674 pointer-events: auto; 1675} 1676 1677.win-empty-mark { 1678 width: 40px; 1679 height: 40px; 1680 border-radius: 999px; 1681 background: var(--brand-surface); 1682 display: inline-flex; 1683 align-items: center; 1684 justify-content: center; 1685 color: var(--brand-text-3); 1686} 1687 1688.win-empty-mark svg { 1689 width: 21px; 1690 height: 21px; 1691 display: block; 1692} 1693 1694.win-empty-title { 1695 font-size: 13px; 1696 color: var(--brand-text-2); 1697} 1698 1699.win-keys { 1700 display: grid; 1701 grid-template-columns: auto auto; 1702 align-items: center; 1703 justify-content: center; 1704 gap: 7px 0; 1705 font-size: 11px; 1706} 1707 1708.win-keys-hint { 1709 margin-top: -7px; 1710 font-size: 11px; 1711 color: var(--brand-text-3); 1712 opacity: 0.75; 1713} 1714 1715.win-key-combo { 1716 display: inline-flex; 1717 align-items: center; 1718 justify-content: flex-end; 1719 padding-right: 5px; 1720} 1721 1722.win-key-combo-caps { 1723 display: inline-flex; 1724 align-items: center; 1725 gap: 4px; 1726} 1727 1728button.win-key-combo { 1729 display: inline-grid; 1730 align-items: center; 1731 border: none; 1732 background: transparent; 1733 padding: 0 5px 0 0; 1734 font: inherit; 1735 font-size: 11px; 1736 cursor: pointer; 1737} 1738 1739button.win-key-combo > * { 1740 grid-area: 1 / 1; 1741 justify-self: end; 1742} 1743 1744button.win-key-combo > .win-kbd-recording, 1745button.win-key-combo > .win-kbd-saving { 1746 visibility: hidden; 1747} 1748 1749button.win-key-combo[data-recording='true'] > .win-kbd-recording, 1750button.win-key-combo[data-saving='true'] > .win-kbd-saving { 1751 visibility: visible; 1752} 1753 1754button.win-key-combo[data-recording='true'] > .win-key-combo-caps, 1755button.win-key-combo[data-saving='true'] > .win-key-combo-caps { 1756 visibility: hidden; 1757} 1758 1759button.win-key-combo[data-hover='true'] .win-kbd { 1760 border-color: var(--brand-border); 1761 color: var(--brand-text-1); 1762} 1763 1764button.win-key-combo:focus-visible { 1765 outline: 2px solid var(--brand-primary); 1766 outline-offset: 3px; 1767 border-radius: 7px; 1768} 1769 1770.win-kbd-recording { 1771 border-style: dashed; 1772 border-color: var(--brand-primary); 1773 color: var(--brand-text-1); 1774 white-space: nowrap; 1775} 1776 1777.win-kbd-saving { 1778 display: inline-flex; 1779 align-items: center; 1780 gap: 5px; 1781 color: var(--brand-text-1); 1782 white-space: nowrap; 1783} 1784 1785.win-shell .kr-spinner-kbd { 1786 width: 9px; 1787 height: 9px; 1788 border-width: 1.5px; 1789} 1790 1791button.win-key-combo[data-error='true'] .win-kbd { 1792 border-color: var(--brand-danger); 1793} 1794 1795.win-key-label { 1796 color: var(--brand-text-3); 1797 text-align: left; 1798 padding-left: 5px; 1799} 1800 1801.win-key-label[data-rebindable='true'] { 1802 cursor: pointer; 1803} 1804 1805.win-key-label[data-hover='true'] { 1806 color: var(--brand-text-1); 1807} 1808 1809.win-key-label[data-error='true'] { 1810 color: var(--brand-danger); 1811} 1812 1813.win-kbd { 1814 font-family: inherit; 1815 font-size: 10px; 1816 font-weight: 600; 1817 padding: 2px 6px; 1818 border-radius: 5px; 1819 background: var(--brand-surface); 1820 border: 1px solid var(--brand-border-subtle); 1821 color: var(--brand-text-2); 1822} 1823 1824/* ---------- floating action bar ---------- */ 1825 1826.win-float-bar { 1827 position: absolute; 1828 left: 50%; 1829 bottom: 14px; 1830 transform: translateX(-50%); 1831 display: inline-flex; 1832 align-items: center; 1833 gap: 6px; 1834 padding: 6px; 1835 border-radius: 999px; 1836 background: color-mix(in srgb, var(--brand-canvas, var(--brand-bg)) 80%, transparent); 1837 backdrop-filter: saturate(180%) blur(20px); 1838 -webkit-backdrop-filter: saturate(180%) blur(20px); 1839 box-shadow: 1840 0 10px 28px rgba(15, 23, 42, 0.16), 1841 0 2px 6px rgba(15, 23, 42, 0.08), 1842 0 0 0 1px rgba(15, 23, 42, 0.06); 1843 white-space: nowrap; 1844 z-index: 4; 1845} 1846 1847/* titlebar controls sit against the right edge, so a tooltip centred on the 1848 button hangs off the window; pin it to the same edge instead */ 1849 1850/* the bar floats over the bottom edge, so its tooltips have to open upward or 1851 they are clipped by the window */ 1852 1853.win-float-bar .kr-tip-content { 1854 top: auto; 1855 bottom: calc(100% + 6px); 1856 transform: translateX(-50%) translateY(2px); 1857} 1858 1859.win-float-bar .kr-tip:hover > .kr-tip-content, 1860.win-float-bar .kr-tip:has(:focus-visible) > .kr-tip-content { 1861 transform: translateX(-50%) translateY(0); 1862} 1863 1864.win-act-row { 1865 display: inline-flex; 1866 align-items: center; 1867 gap: 6px; 1868} 1869 1870.win-act-sep { 1871 width: 1px; 1872 height: 18px; 1873 margin: 0 2px; 1874 background: var(--brand-border-subtle); 1875 flex-shrink: 0; 1876} 1877 1878.win-act { 1879 display: inline-flex; 1880 align-items: center; 1881 gap: 6px; 1882 height: 32px; 1883 min-width: 0; 1884 padding: 0 13px 0 11px; 1885 border-radius: 999px; 1886 border: 1px solid transparent; 1887 background: transparent; 1888 color: var(--brand-text-2); 1889 font: inherit; 1890 font-size: 12px; 1891 font-weight: 500; 1892 white-space: nowrap; 1893 cursor: pointer; 1894} 1895 1896.win-act:hover:not(:disabled) { 1897 background: var(--brand-surface); 1898 color: var(--brand-text-1); 1899} 1900 1901.win-act:disabled { 1902 opacity: 0.34; 1903 cursor: default; 1904} 1905 1906.win-act-ico { 1907 display: inline-flex; 1908 align-items: center; 1909} 1910 1911/* the bar falls back to the icons its buttons already carry when the space it 1912 floats over cannot hold it labelled â a narrow window, or a narrow input pane 1913 side by side. usePanelLayout owns that judgement because the pane half needs 1914 the bar's own measured width */ 1915 1916.win-float-bar[data-compact='true'] .win-act[data-labelled='true'] { 1917 width: 32px; 1918 min-width: 32px; 1919 padding: 0; 1920 gap: 0; 1921 justify-content: center; 1922} 1923 1924.win-float-bar[data-compact='true'] .win-act[data-labelled='true'] > span:not(.win-act-ico) { 1925 display: none; 1926} 1927 1928.win-act-ico svg { 1929 width: 15px; 1930 height: 15px; 1931 display: block; 1932} 1933 1934.win-act[data-loading='true'] .win-act-ico svg { 1935 animation: kr-spin 0.8s linear infinite; 1936} 1937 1938.win-act[data-selected='true'], 1939.win-act[data-selected='true']:hover { 1940 background: var(--brand-surface-strong); 1941 color: var(--brand-primary); 1942 font-weight: 600; 1943} 1944 1945.win-act[data-compact='true'] { 1946 width: 26px; 1947 min-width: 26px;
1948 height: 26px; 1949 padding: 0; 1950 gap: 0; 1951 justify-content: center; 1952 color: var(--brand-text-3); 1953} 1954 1955.win-act[data-compact='true'] .win-act-ico svg { 1956 width: 13px; 1957 height: 13px; 1958} 1959 1960.win-act[data-done='true'], 1961.win-act[data-done='true']:hover { 1962 color: var(--brand-success); 1963} 1964 1965.win-act[data-active='true'], 1966.win-act[data-active='true']:hover { 1967 background: var(--brand-surface-strong); 1968 color: var(--brand-primary); 1969} 1970 1971.win-shell button:focus-visible, 1972.win-shell [role='separator']:focus-visible { 1973 outline: 2px solid var(--brand-primary); 1974 outline-offset: 2px; 1975} 1976 1977/* ---------- language icon: one trigger, one two-column popover ---------- */ 1978 1979.win-lang { 1980 position: relative; 1981 display: inline-flex; 1982 align-items: center; 1983} 1984 1985.win-lang-trigger { 1986 width: 32px; 1987 min-width: 32px; 1988 height: 32px; 1989 padding: 0; 1990 border: 1px solid transparent; 1991 border-radius: 999px; 1992 background: transparent; 1993 color: var(--brand-text-2); 1994 display: inline-flex; 1995 align-items: center; 1996 justify-content: center; 1997 cursor: pointer; 1998} 1999 2000.win-lang-trigger:hover { 2001 background: var(--brand-surface); 2002 color: var(--brand-text-1); 2003} 2004 2005.win-lang-trigger svg { 2006 width: 15px; 2007 height: 15px; 2008 display: block; 2009} 2010 2011.win-lang-swap { 2012 width: 26px; 2013 min-width: 26px; 2014 height: 26px; 2015 padding: 0; 2016 border: none; 2017 border-radius: 999px; 2018 background: transparent; 2019 color: var(--brand-text-3); 2020 display: inline-flex; 2021 align-items: center; 2022 justify-content: center; 2023 cursor: pointer; 2024 flex: 0 0 auto; 2025} 2026 2027.win-lang-swap:hover { 2028 background: var(--brand-surface-strong); 2029 color: var(--brand-text-1); 2030} 2031 2032.win-lang-swap svg { 2033 width: 13px; 2034 height: 13px; 2035} 2036 2037.win-lang-popover { 2038 position: absolute; 2039 bottom: calc(100% + 8px); 2040 right: 0; 2041 z-index: 20; 2042 width: 306px; 2043 max-height: 320px; 2044 display: flex; 2045 flex-direction: column; 2046 border-radius: 12px; 2047 background: var(--brand-canvas, var(--brand-bg)); 2048 overflow: hidden; 2049 box-shadow: 2050 0 16px 40px rgba(15, 23, 42, 0.2), 2051 0 0 0 1px rgba(15, 23, 42, 0.08); 2052} 2053 2054.win-lang-filter-row { 2055 flex: 0 0 auto; 2056 display: flex; 2057 align-items: center; 2058 gap: 4px; 2059 margin: 8px 8px 4px; 2060} 2061 2062.win-lang-filter { 2063 flex: 1 1 auto; 2064 min-width: 0; 2065 height: 30px; 2066 padding: 0 11px; 2067 border-radius: 999px; 2068 border: 1px solid var(--brand-border); 2069 background: var(--brand-canvas, var(--brand-bg)); 2070 color: var(--brand-text-1); 2071 font: inherit; 2072 font-size: 12px; 2073 outline: none; 2074} 2075 2076.win-lang-filter:focus { 2077 border-color: var(--brand-text-1); 2078} 2079 2080.win-lang-cols { 2081 flex: 1 1 auto; 2082 min-height: 0; 2083 display: flex; 2084 gap: 4px; 2085 padding: 0 6px 8px; 2086} 2087 2088.win-lang-col { 2089 flex: 1 1 0; 2090 min-width: 0; 2091 min-height: 0; 2092 display: flex; 2093 flex-direction: column; 2094} 2095 2096.win-lang-col-divider { 2097 flex: 0 0 auto; 2098 width: 1px; 2099 margin: 6px 2px 0; 2100 background: var(--brand-border-subtle); 2101} 2102 2103.win-lang-col-scroll { 2104 flex: 1 1 auto; 2105 min-height: 0; 2106 overflow-y: auto; 2107} 2108 2109.win-lang-group { 2110 padding: 8px 8px 2px; 2111 font-size: 10px; 2112 font-weight: 700; 2113 letter-spacing: 0.06em; 2114 text-transform: uppercase; 2115 color: var(--brand-text-3); 2116} 2117 2118.win-lang-option { 2119 width: 100%; 2120 display: flex; 2121 align-items: center; 2122 justify-content: space-between; 2123 gap: 8px; 2124 height: 30px; 2125 padding: 0 10px; 2126 border: none; 2127 border-radius: 8px; 2128 background: transparent; 2129 color: var(--brand-text-1); 2130 font: inherit; 2131 font-size: 12.5px; 2132 text-align: left; 2133 cursor: pointer; 2134} 2135 2136.win-lang-option > span { 2137 overflow: hidden; 2138 text-overflow: ellipsis; 2139 white-space: nowrap; 2140} 2141 2142.win-lang-option > .win-lang-option-check { 2143 flex: none; 2144 display: inline-flex; 2145 align-items: center; 2146} 2147 2148.win-lang-option[aria-selected='false'] > .win-lang-option-check { 2149 visibility: hidden; 2150} 2151 2152.win-lang-option:hover { 2153 background: var(--brand-surface); 2154} 2155 2156.win-lang-option[aria-selected='true'] { 2157 font-weight: 600; 2158} 2159 2160.win-lang-option svg { 2161 width: 13px; 2162 height: 13px; 2163 color: var(--brand-primary); 2164 flex: 0 0 auto; 2165} 2166 2167.win-lang-empty { 2168 padding: 14px 10px; 2169 font-size: 12px; 2170 color: var(--brand-text-3); 2171 text-align: center; 2172} 2173 2174.win-lang-manage-row { 2175 flex: 0 0 auto; 2176 padding: 6px; 2177 border-top: 1px solid var(--brand-border-subtle); 2178} 2179 2180.win-lang-manage { 2181 display: block; 2182 width: 100%; 2183 padding: 6px 10px; 2184 border: none; 2185 border-radius: 999px; 2186 background: transparent; 2187 color: var(--brand-text-3); 2188 font: inherit; 2189 font-size: 11px; 2190 font-weight: 500; 2191 text-align: left; 2192 cursor: pointer; 2193} 2194 2195.win-lang-manage:hover {
2196 color: var(--brand-text-1); 2197} 2198 2199.win-label-with-score { 2200 display: inline-flex; 2201 align-items: center; 2202 gap: 6px; 2203} 2204 2205.kr-cc-action-btn[data-loading='true'] { 2206 cursor: default; 2207} 2208 2209.kr-cc-action-btn[data-loading='true'] .kr-cc-action-icon svg { 2210 animation: kr-spin 0.8s linear infinite; 2211} 2212 2213/* the layout toggle is one more icon in the input cluster, not a chip: no pill, 2214 no border, no aria-pressed fill. it never reserves a column â it floats over 2215 whatever is under it and carries the same left fade the counter and the input 2216 cluster already use, so the text beneath stays readable. */ 2217 2218.win-layout-toggle { 2219 position: absolute; 2220 top: 6px; 2221 right: 12px; 2222 z-index: 6; 2223 display: inline-flex; 2224 align-items: center; 2225 padding-left: 20px; 2226 background: linear-gradient(to right, transparent, var(--brand-canvas, var(--brand-bg)) 16px); 2227 pointer-events: none; 2228 transition: opacity 120ms ease; 2229} 2230 2231/* the fade is 20px of pure decoration sitting on top of whatever scrolls past. 2232 it must not also collect the clicks meant for what is underneath it */ 2233 2234.win-layout-toggle button { 2235 pointer-events: auto; 2236} 2237 2238/* stacked, the source pane spans the whole shell, so the cluster would land on 2239 top of the toggle. side by side the cluster belongs to the left pane and the 2240 toggle to the shell, so they cannot meet. */ 2241 2242.win-shell[data-toggle='in-frame'] .win-body[data-layout='v'] .win-input-acts { 2243 right: 39px; 2244} 2245 2246/* side by side the toggle floats over the result column instead. it reserves 2247 nothing â no row, no column. the one thing that can reach up into its corner 2248 is the first label row's own copy/speak, so that single row ends where the 2249 toggle begins; everything below scrolls under the fade. */ 2250 2251.win-shell[data-toggle='in-frame'] 2252 .win-body[data-layout='h'] 2253 .win-result-scroll 2254 .label-row:first-child { 2255 padding-right: 30px; 2256} 2257 2258.kr-speaking .kr-speaking-wave { 2259 opacity: 0; 2260 animation: 1.2s linear infinite; 2261} 2262 2263.kr-speaking .kr-speaking-wave[data-wave='1'] { 2264 animation-name: kr-speaking-wave-1; 2265} 2266 2267.kr-speaking .kr-speaking-wave[data-wave='2'] { 2268 animation-name: kr-speaking-wave-2; 2269} 2270 2271.kr-speaking .kr-speaking-wave[data-wave='3'] { 2272 animation-name: kr-speaking-wave-3; 2273} 2274 2275@keyframes kr-speaking-wave-1 { 2276 0%, 24.9% { opacity: 0; } 2277 25%, 100% { opacity: 1; } 2278} 2279 2280@keyframes kr-speaking-wave-2 { 2281 0%, 49.9% { opacity: 0; } 2282 50%, 100% { opacity: 1; } 2283} 2284 2285@keyframes kr-speaking-wave-3 { 2286 0%, 74.9% { opacity: 0; } 2287 75%, 100% { opacity: 1; } 2288} 2289 2290@media (prefers-reduced-motion: reduce) { 2291 .kr-speaking .kr-speaking-wave { 2292 opacity: 1; 2293 animation: none; 2294 } 2295} 2296 2297.kr-wl-word { 2298 cursor: pointer; 2299 border-radius: 3px; 2300 transition: background-color 120ms ease; 2301} 2302 2303.kr-wl-word:hover, 2304.kr-wl-word[data-open='true'] { 2305 background: var(--brand-surface-strong); 2306} 2307 2308.kr-wl-word[data-known='true'] { 2309 text-decoration: underline dotted var(--brand-accent-teal); 2310 text-underline-offset: 3px; 2311} 2312 2313.kr-wl-word:focus-visible { 2314 outline: 2px solid var(--brand-primary); 2315 outline-offset: 1px; 2316} 2317 2318.kr-wl-pop { 2319 position: fixed; 2320 top: 0; 2321 left: 0; 2322 z-index: 20; 2323 width: max-content; 2324 min-width: 216px; 2325 max-width: 288px; 2326 display: flex; 2327 flex-direction: column; 2328 gap: 8px; 2329 padding: 12px; 2330 border-radius: 12px; 2331 background: var(--brand-canvas, var(--brand-bg)); 2332 box-shadow: 2333 0 16px 40px rgba(15, 23, 42, 0.2), 2334 0 0 0 1px rgba(15, 23, 42, 0.08); 2335 visibility: hidden; 2336 opacity: 0; 2337 pointer-events: none; 2338 transform: translateY(10px); 2339 transition: 2340 opacity 140ms ease, 2341 transform 140ms cubic-bezier(0.2, 0, 0, 1), 2342 visibility 140ms; 2343} 2344 2345.kr-wl-pop[data-place='below'] { 2346 transform: translateY(-10px); 2347} 2348 2349.kr-wl-pop[data-open='true'] { 2350 visibility: visible; 2351 opacity: 1; 2352 pointer-events: auto; 2353 transform: translateY(0); 2354} 2355 2356.kr-wl-pop[data-glide='true'] { 2357 transition: translate 160ms cubic-bezier(0.2, 0, 0, 1); 2358} 2359 2360@media (prefers-reduced-motion: reduce) { 2361 .kr-wl-pop, 2362 .kr-wl-pop[data-place], 2363 .kr-wl-pop[data-open='true'] { 2364 transform: none; 2365 } 2366 2367 .kr-wl-pop[data-glide='true'] { 2368 transition: none; 2369 } 2370} 2371 2372.kr-wl-term { 2373 font-size: 15px; 2374 font-weight: 600; 2375 line-height: 1.3; 2376 color: var(--brand-text-1); 2377 overflow: hidden; 2378 text-overflow: ellipsis; 2379 white-space: nowrap; 2380} 2381 2382.kr-wl-gloss { 2383 font-size: 13px; 2384 line-height: 1.55; 2385 color: var(--brand-body); 2386} 2387 2388.kr-wl-gloss[data-pending='true'], 2389.kr-wl-gloss[data-empty='true'] { 2390 color: var(--brand-text-3); 2391} 2392 2393.kr-wl-skel { 2394 display: block; 2395 height: 13px; 2396 margin: 3px 0; 2397 border-radius: 3px; 2398 background: linear-gradient( 2399 90deg, 2400 var(--brand-surface-2) 0%, 2401 var(--brand-border-subtle) 50%, 2402 var(--brand-surface-2) 100% 2403 ); 2404 background-size: 200% 100%; 2405 animation: kr-wl-skel-shimmer 1.1s ease-in-out infinite; 2406} 2407 2408.kr-wl-skel + .kr-wl-skel { 2409 width: 62%; 2410} 2411 2412@keyframes kr-wl-skel-shimmer { 2413 from { 2414 background-position: 200% 0; 2415 } 2416 to { 2417 background-position: -200% 0; 2418 } 2419} 2420 2421@media (prefers-reduced-motion: reduce) { 2422 .kr-wl-skel { 2423 animation: none; 2424 } 2425} 2426 2427.kr-wl-def { 2428 font-size: 12px; 2429 line-height: 1.5; 2430 color: var(--brand-text-3); 2431} 2432 2433.kr-wl-cefr { 2434 display: inline-flex; 2435 align-items: center; 2436 border-radius: 999px; 2437 font-size: 11px; 2438 font-weight: 600; 2439 letter-spacing: 0.02em; 2440 padding: 1px 10px; 2441 flex: 0 0 auto; 2442} 2443 2444.kr-wl-body { 2445 display: flex; 2446 flex-direction: column; 2447 gap: 8px; 2448 min-width: 0; 2449 min-height: 0; 2450} 2451 2452.kr-wl-pop[data-sized='true'] { 2453 min-width: 0; 2454 max-width: none; 2455} 2456 2457.kr-wl-pop[data-sized='true'] .kr-wl-body { 2458 flex: 1 1 auto; 2459 overflow-y: auto; 2460 overscroll-behavior: contain; 2461} 2462 2463.kr-wl-pop .win-act-row { 2464 margin-top: 2px; 2465} 2466 2467.kr-wl-pop .kr-cc-draft-chip { 2468 position: static; 2469 transform: none; 2470 flex: 0 0 auto; 2471} 2472 2473.kr-wl-pop [hidden] { 2474 display: none !important; 2475} 2476 2477.kr-wl-pop .win-act[data-labelled='true'] { 2478 width: 32px; 2479 min-width: 32px; 2480 padding: 0; 2481 gap: 0; 2482 justify-content: center; 2483} 2484 2485.kr-wl-pop .win-act[data-labelled='true'] > span:not(.win-act-ico) { 2486 display: none; 2487} 2488 2489.kr-wl-spacer { 2490 flex: 1 1 auto; 2491} 2492 2493.kr-wl-pop .kr-tip-content { 2494 top: auto; 2495 bottom: calc(100% + 6px); 2496 transform: translateX(-50%) translateY(2px); 2497} 2498 2499.kr-wl-pop .kr-tip:hover > .kr-tip-content, 2500.kr-wl-pop .kr-tip:has(:focus-visible) > .kr-tip-content { 2501 transform: translateX(-50%) translateY(0); 2502} 2503 2504.kr-wl-bar { 2505 min-width: 0; 2506 flex-direction: row; 2507 align-items: center; 2508 gap: 4px; 2509 padding: 6px; 2510 border-radius: 999px; 2511} 2512 2513.kr-wl-bar .win-act[data-labelled='true'] { 2514 width: auto; 2515 min-width: 0; 2516 padding: 0 13px 0 11px; 2517 gap: 6px; 2518 justify-content: flex-start; 2519} 2520 2521.kr-wl-bar .win-act[data-labelled='true'] > span:not(.win-act-ico) { 2522 display: inline; 2523} 2524 2525.kr-fw-head { 2526 display: flex; 2527 align-items: center; 2528 gap: 8px; 2529 min-width: 0; 2530 flex: 0 0 auto; 2531} 2532 2533[data-movable='true'] > .kr-fw-head { 2534 cursor: grab; 2535 user-select: none; 2536 touch-action: none; 2537} 2538 2539[data-movable='true'] > .kr-fw-head:active { 2540 cursor: grabbing; 2541} 2542 2543[data-movable='true'] > .kr-fw-head .kr-fw-actions { 2544 cursor: default; 2545} 2546 2547.kr-fw-title { 2548 min-width: 0; 2549 overflow: hidden; 2550 text-overflow: ellipsis; 2551 white-space: nowrap; 2552} 2553 2554.kr-fw-actions { 2555 display: inline-flex; 2556 align-items: center; 2557 gap: 2px; 2558 margin-left: auto; 2559 flex: 0 0 auto; 2560} 2561 2562.kr-fw-edge { 2563 position: absolute; 2564 z-index: 10; 2565 padding: 0; 2566 border: 0; 2567 background: transparent; 2568 touch-action: none; 2569} 2570 2571.kr-fw-edge[data-edge='n'], 2572.kr-fw-edge[data-edge='s'] { 2573 left: 8px; 2574 right: 8px; 2575 height: 8px; 2576 cursor: ns-resize; 2577} 2578 2579.kr-fw-edge[data-edge='n'] { 2580 top: -4px; 2581} 2582 2583.kr-fw-edge[data-edge='s'] { 2584 bottom: -4px; 2585} 2586 2587.kr-fw-edge[data-edge='w'], 2588.kr-fw-edge[data-edge='e'] { 2589 top: 8px; 2590 bottom: 8px; 2591 width: 8px; 2592 cursor: ew-resize; 2593} 2594 2595.kr-fw-edge[data-edge='w'] { 2596 left: -4px; 2597} 2598 2599.kr-fw-edge[data-edge='e'] { 2600 right: -4px; 2601} 2602 2603.kr-fw-edge[data-edge='nw'], 2604.kr-fw-edge[data-edge='ne'], 2605.kr-fw-edge[data-edge='sw'], 2606.kr-fw-edge[data-edge='se'] { 2607 z-index: 11; 2608 width: 14px; 2609 height: 14px; 2610} 2611 2612.kr-fw-edge[data-edge='nw'] { 2613 top: -4px; 2614 left: -4px; 2615 cursor: nwse-resize; 2616} 2617 2618.kr-fw-edge[data-edge='ne'] { 2619 top: -4px; 2620 right: -4px; 2621 cursor: nesw-resize; 2622} 2623 2624.kr-fw-edge[data-edge='sw'] { 2625 bottom: -4px; 2626 left: -4px; 2627 cursor: nesw-resize; 2628} 2629 2630.kr-fw-edge[data-edge='se'] { 2631 bottom: -4px; 2632 right: -4px; 2633 cursor: nwse-resize; 2634} 2635 2636.kr-fw-edge:focus-visible { 2637 outline: 2px solid var(--brand-primary); 2638 outline-offset: -2px; 2639 border-radius: 4px; 2640} 2641 2642.kr-fw-grip { 2643 position: absolute; 2644 right: 3px; 2645 bottom: 3px; 2646 z-index: 12; 2647 width: 14px; 2648 height: 14px; 2649 padding: 0; 2650 border: 0; 2651 background: transparent; 2652 color: var(--brand-text-3); 2653 cursor: nwse-resize; 2654 touch-action: none; 2655} 2656 2657.kr-fw-grip:hover, 2658.kr-fw-grip:focus-visible { 2659 color: var(--brand-text-1); 2660} 2661 2662.kr-fw-grip svg { 2663 display: block; 2664 width: 14px; 2665 height: 14px; 2666} 2667 2668@media (max-width: 767px) { 2669 .kr-fw-edge { 2670 display: none; 2671 } 2672 2673 [data-movable='true'] > .kr-fw-head, 2674 [data-movable='true'] > .kr-fw-head:active { 2675 cursor: default; 2676 } 2677} 2678 2679.kr-resize-divider { 2680 position: relative; 2681 flex: 0 0 auto; 2682 align-self: stretch; 2683 padding: 0; 2684 border: 0; 2685 background: transparent; 2686 touch-action: none; 2687} 2688.kr-resize-divider[data-orientation='vertical'] { 2689 width: 9px; 2690 margin: 0 -4px; 2691 cursor: col-resize; 2692} 2693.kr-resize-divider[data-orientation='horizontal'] { 2694 height: 9px; 2695 margin: -4px 0; 2696 cursor: row-resize; 2697 width: 100%; 2698} 2699.kr-resize-divider:focus { 2700 outline: none; 2701} 2702.kr-resize-divider .kr-resize-divider-rail { 2703 position: absolute; 2704 background: var(--brand-border-subtle); 2705} 2706.kr-resize-divider[data-orientation='vertical'] .kr-resize-divider-rail { 2707 top: 0; 2708 bottom: 0; 2709 left: 50%; 2710 width: 1px; 2711 margin-left: -0.5px; 2712} 2713.kr-resize-divider[data-orientation='horizontal'] .kr-resize-divider-rail { 2714 left: 0; 2715 right: 0; 2716 top: 50%; 2717 height: 1px; 2718 margin-top: -0.5px; 2719} 2720.kr-resize-divider .kr-resize-divider-line { 2721 position: absolute; 2722 background: var(--brand-border); 2723 transition: transform .24s cubic-bezier(.2,0,0,1), background-color .24s cubic-bezier(.2,0,0,1); 2724} 2725.kr-resize-divider[data-orientation='vertical'] .kr-resize-divider-line { 2726 top: 0; 2727 bottom: 0; 2728 left: 50%; 2729 width: 1px; 2730 margin-left: -0.5px; 2731 transform: scaleY(0); 2732 transform-origin: center; 2733} 2734.kr-resize-divider[data-orientation='horizontal'] .kr-resize-divider-line { 2735 left: 0; 2736 right: 0; 2737 top: 50%; 2738 height: 1px; 2739 margin-top: -0.5px; 2740 transform: scaleX(0); 2741 transform-origin: center; 2742} 2743.kr-resize-divider .kr-resize-divider-grip { 2744 position: absolute; 2745 top: 50%; 2746 left: 50%; 2747 border-radius: 999px; 2748 background: var(--brand-border); 2749 transform: translate(-50%, -50%); 2750 transition: width .24s cubic-bezier(.2,0,0,1), height .24s cubic-bezier(.2,0,0,1), background-color .24s cubic-bezier(.2,0,0,1); 2751} 2752.kr-resize-divider[data-orientation='vertical'] .kr-resize-divider-grip { 2753 width: 2px; 2754 height: 34px; 2755} 2756.kr-resize-divider[data-orientation='horizontal'] .kr-resize-divider-grip { 2757 width: 34px; 2758 height: 2px; 2759} 2760.kr-resize-divider:hover .kr-resize-divider-line, 2761.kr-resize-divider:focus-visible .kr-resize-divider-line, 2762.kr-resize-divider.is-active .kr-resize-divider-line { 2763 background: var(--brand-primary); 2764 transform: scaleY(1) scaleX(1); 2765} 2766.kr-resize-divider:hover .kr-resize-divider-grip, 2767.kr-resize-divider:focus-visible .kr-resize-divider-grip, 2768.kr-resize-divider.is-active .kr-resize-divider-grip { 2769 background: var(--brand-primary); 2770} 2771.kr-resize-divider[data-orientation='vertical']:hover .kr-resize-divider-grip, 2772.kr-resize-divider[data-orientation='vertical']:focus-visible .kr-resize-divider-grip, 2773.kr-resize-divider[data-orientation='vertical'].is-active .kr-resize-divider-grip { 2774 width: 4px; 2775 height: 46px; 2776} 2777.kr-resize-divider[data-orientation='horizontal']:hover .kr-resize-divider-grip, 2778.kr-resize-divider[data-orientation='horizontal']:focus-visible .kr-resize-divider-grip, 2779.kr-resize-divider[data-orientation='horizontal'].is-active .kr-resize-divider-grip { 2780 width: 46px; 2781 height: 4px; 2782} 2783@media (prefers-reduced-motion: reduce) { 2784 .kr-resize-divider .kr-resize-divider-line, 2785 .kr-resize-divider .kr-resize-divider-grip { 2786 transition: none; 2787 } 2788} 2789</style><main class="bg-brand-bg text-brand-text-1 min-h-screen"><header data-testid="landing-header" data-scrolled="false" class="sticky top-0 z-40 w-full transition-[background-color,box-shadow,backdrop-filter] duration-200 backdrop-blur-0" style="background-color: var(--brand-surface); box-shadow: none;"><div class="mx-auto grid h-16 w-full max-w-7xl grid-cols-[1fr_auto_1fr] items-center px-5 sm:px-8"><a class="focus-visible:ring-brand-text-1 inline-flex justify-self-start rounded-full focus-visible:outline-none focus-visible:ring-2" aria-label="KeepReap" href="/"><svg viewBox="314 423 1159 947" fill="currentColor" xmlns="http://www.w3.org/2000/svg" class="h-8 w-8" role="img" aria-label="KeepReap"><defs><linearGradient id="krm-r0" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#F5A23E"></stop><stop offset="1" stop-color="#E3620B"></stop></linearGradient></defs> 2790<g transform="scale(1.0078431 1)"><path d="M407.077 423.744C454.055 419.645 499.592 453.121 510.437 498.827C514.448 515.731 513.5 535.845 513.518 553.28L513.543 609.641L513.494 810.679L584.363 810.714C616.791 810.723 644.986 813.222 675.933 802.119C702.761 792.335 726.315 775.235 743.928 752.759C779.326 708.065 780.761 668.342 780.735 614.973L780.686 550.174C780.676 524.927 779.513 506.899 790.93 483.376C802.791 458.921 823.929 440.217 849.646 431.419C858.433 428.491 867.565 426.721 876.811 426.156C893.686 425.052 920.364 425.871 937.863 425.904L1047.73 425.899L1144.94 425.884C1169.97 425.887 1194.79 425.113 1219.65 428.32C1249.77 432.191 1279.02 441.062 1306.22 454.568C1375.92 488.946 1429.18 549.49 1454.41 622.992C1479.84 697.011 1474.94 778.09 1440.75 848.501C1405.05 920.889 1346.52 970.784 1270.35 996.653C1284.39 1014.92 1302.94 1036.08 1317.9 1054.07L1403.79 1157.43L1439.17 1199.8C1445.42 1207.37 1453.95 1217.22 1458.93 1225.29C1465.84 1236.66 1470.34 1249.35 1472.12 1262.54C1475.61 1288.09 1468.63 1313.96 1452.76 1334.27C1438.02 1353.6 1416.21 1366.27 1392.12 1369.5C1332.71 1376.9 1305.13
27901329.41 1271.8 1289.75L1169.1 1167.54L1055.8 1031.76L1019.41 988.194C1013.52 981.158 1004.39 970.915 999.336 963.625C991.72 952.759 987.047 940.1 985.782 926.898C983.428 905.684 989.753 884.418 1003.31 867.923C1018.01 849.91 1037.28 841.433 1060.03 839.239C1065.6 838.44 1083.9 838.831 1090.32 838.843L1141.36 838.968C1182.6 839.065 1214.24 837.328 1246.21 805.922C1269.65 782.879 1282.85 751.377 1282.82 718.505C1282.85 686.217 1271.38 654.229 1248.24 631.294C1233.74 616.845 1215.5 606.712 1195.58 602.023C1175.88 597.356 1132 598.993 1109.75 598.998L976.936 599.032C976.918 618.967 977.349 641.632 976.391 661.241C972.649 737.499 943.3 811.219 892.008 867.981C881.247 879.894 871.686 888.362 859.649 899.096C870.522 907.388 880.825 916.418 890.471 926.099C940.147 976.001 971.05 1041.54 977.937 1111.61C979.949 1132.03 979.422 1154.44 979.413 1175.1L979.44 1257.02C979.396 1290.63 975.206 1317.21 949.836 1342.21C930.888 1360.73 905.325 1370.92 878.831 1370.51C858.083 1370.3 837.933 1363.55 821.242 1351.24C802.312 1337.37 788.944 1317.21 783.544 1294.38C779.594 1277.81 780.66 1257.87 780.677 1240.61L780.771 1169.76C780.848 1112.93 779.63 1067.66 735.92 1023.59C712.125 999.28 680.696 983.881 646.9 979.981C630.953 978.303 609.192 978.883 592.729 978.883L513.725 978.847C513.056 1004.78 513.465 1032.01 513.474 1058.05L513.488 1192.87C513.496 1216.55 513.428 1240.29 513.44 1263.96C513.452 1290.39 508.447 1311.86 491.641 1332.87C475.342 1353.56 451.428 1366.87 425.245 1369.81C398.611 1372.99 371.816 1365.33 350.899 1348.54C330.32 1331.97 317.215 1307.87 314.502 1281.59C313.181 1268.11 313.761 1247.71 313.767 1233.58L313.8 1152.59L313.807 886.666L313.773 635.042L313.768 557.578C313.773 544.267 313.221 524.309 314.605 511.735C316.703 492.882 324.253 475.051 336.331 460.424C354.582 438.248 378.693 426.341 407.077 423.744Z" fill="url(#krm-r0)"></path></g> 2791</svg></a><nav aria-label="Primary" data-testid="landing-header-nav" class="text-brand-text-2 hidden items-center gap-5 whitespace-nowrap text-sm lg:flex xl:gap-7"><a href="/books" class="hover:text-brand-text-1 transition-colors">Books</a><a href="/#how-it-works" class="hover:text-brand-text-1 transition-colors">How it works</a><a href="/#capture" class="hover:text-brand-text-1 transition-colors">Capture</a><a href="/#mac" class="hover:text-brand-text-1 transition-colors">Mac app</a><a href="/#work-scenarios" class="hover:text-brand-text-1 transition-colors">Work</a><a href="/s" class="hover:text-brand-text-1 transition-colors">Explore</a><span class="group relative inline-flex items-start"><a href="/#pricing" class="hover:text-brand-text-1 transition-colors">Pricing</a><a href="/#refer-and-earn" aria-label="Refer friends, earn unlimited credits" class="text-brand-accent-amber focus-visible:ring-brand-text-1 relative -top-1.5 ml-0.5 rounded-full focus-visible:outline-none focus-visible:ring-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-gift size-3" aria-hidden="true"><rect x="3" y="8" width="18" height="4" rx="1"></rect><path d="M12 8v13"></path><path d="M19 12v7a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-7"></path><path d="M7.5 8a2.5 2.5 0 0 1 0-5A4.8 8 0 0 1 12 8a4.8 8 0 0 1 4.5-5 2.5 2.5 0 0 1 0 5"></path></svg></a><span class="pointer-events-none absolute left-full top-1/2 z-50 ml-3 -translate-y-1/2 opacity-0 transition-opacity duration-150 group-focus-within:opacity-100 group-hover:opacity-100"><span aria-hidden="true" class="bg-brand-primary absolute -left-1 top-1/2 size-2 -translate-y-1/2 rotate-45 rounded-[1px]"></span><span aria-hidden="true" class="bg-brand-primary text-brand-on-primary block w-max max-w-[220px] rounded-lg px-3 py-2 text-xs font-medium shadow-lg">Refer friends, earn unlimited credits</span></span></span><a href="/#faq" class="hover:text-brand-text-1 transition-colors">FAQ</a></nav><div class="flex items-center gap-2 justify-self-end sm:gap-3"><div class="relative"><button aria-label="Display Language" type="button" class="inline-flex items-center justify-center rounded-full transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none bg-transparent h-10 w-10 [&>svg:not([class*='h-'])]:h-4 [&>svg:not([class*='w-'])]:w-4 text-brand-text-1 hover:bg-brand-surface/70 focus-visible:ring-brand-text-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-languages"><path d="m5 8 6 6"></path><path d="m4 14 6-6 2-3"></path><path d="M2 5h12"></path><path d="M7 2h1"></path><path d="m22 22-5-10-5 10"></path><path d="M14 18h6"></path></svg></button></div><a class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-full font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none bg-brand-primary text-brand-on-primary hover:bg-brand-primary-hover focus-visible:ring-brand-link h-[42px] px-6 text-base" href="/sign-in?after=/home">Sign In</a></div></div></header><section data-testid="landing-hero" data-landing-hero="" class="bg-brand-surface px-6 pb-8 pt-10 text-center sm:pb-12 sm:pt-16 md:pb-16 md:pt-20"><div class="landing-hero-measure mx-auto max-w-4xl"><div class="hero-reveal" style="--hero-d: 180ms;"><p data-testid="landing-hero-eyebrow" class="landing-hero-eyebrow text-brand-text-2 border-brand-border-subtle bg-brand-surface-2 mb-8 inl
2791ine-block rounded-full border px-4 py-2 text-center text-[11.5px] font-medium uppercase md:mb-14"><span class="text-brand-accent-amber mr-3" aria-hidden="true">â¢</span>Capture · Improve · Keep what you read</p></div><h1 data-testid="landing-hero-title" class="landing-hero-headline text-brand-text-1" style="--hero-em: 7.13;"><span class="hero-reveal block" style="--hero-d: 300ms;">Write <em class="text-brand-accent-amber not-italic [.landing-hero-headline_&]:italic">English</em></span><span class="hero-reveal block" style="--hero-d: 440ms;">that sounds <em class="text-brand-accent-amber not-italic [.landing-hero-headline_&]:italic">native.</em></span></h1><div class="hero-reveal" style="--hero-d: 660ms;"><p class="landing-hero-lede text-brand-text-2 mx-auto mt-8 max-w-xl text-base leading-relaxed md:mt-14 md:text-lg">Improve any sentence in one click â then keep the words until they're yours.</p></div></div><div class="hero-reveal mx-auto mt-6 max-w-[960px] space-y-4 text-left md:mt-10" style="--hero-d: 800ms;"><div data-testid="landing-video-promo" data-landing-video="" class="border-brand-border-subtle bg-brand-bg ring-brand-border-subtle relative w-full overflow-hidden rounded-xl border shadow-sm ring-1"><div class="bg-brand-surface-2 relative aspect-video w-full"><video src="/videos/keepreap-promo.mp4" poster="/videos/keepreap-promo.jpg" aria-label="KeepReap product video" width="1920" height="1080" autoplay="" loop="" playsinline="" preload="metadata" class="absolute inset-0 h-full w-full object-cover"></video><button type="button" data-testid="landing-video-sound" aria-label="Turn sound on" title="Turn sound on" class="border-brand-border-subtle bg-brand-bg/85 text-brand-text-1 border backdrop-blur hover:bg-brand-bg focus-visible:ring-brand-text-1 absolute bottom-3 right-3 inline-flex size-10 items-center justify-center rounded-full transition-colors focus-visible:outline-none focus-visible:ring-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-volume-x size-[18px]" aria-hidden="true"><path d="M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z"></path><line x1="22" x2="16" y1="9" y2="15"></line><line x1="16" x2="22" y1="9" y2="15"></line></svg></button></div></div><div class="flex justify-center sm:hidden"><button type="button" class="bg-brand-primary text-brand-on-primary hover:bg-brand-primary-hover inline-flex min-w-[200px] items-center justify-center rounded-full px-6 py-3 text-sm font-semibold transition-colors">Start Free</button></div></div><div class="hero-reveal mx-auto mt-6 hidden max-w-3xl justify-center sm:flex md:mt-8" style="--hero-d: 940ms;"><div class="flex flex-col items-center gap-4"><div data-testid="landing-install-buttons" data-primary-platform="chrome" class="flex flex-wrap items-center justify-center gap-4"><a href="https://chromewebstore.google.com/detail/keepreap/oejbdpilpmhphopjidgpfbonoepgngim" target="_blank" rel="noopener noreferrer" class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-full font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none bg-brand-primary text-brand-on-primary hover:bg-brand-primary-hover focus-visible:ring-brand-link h-[42px] px-6 text-base"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chrome h-4 w-4" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="4"></circle><line x1="21.17" x2="12" y1="8" y2="8"></line><line x1="3.95" x2="8.54" y1="6.06" y2="14"></line><line x1="10.88" x2="15.46" y1="21.94" y2="14"></line></svg>Add to Chrome</a><a href="/keepreap-extension-v0.3.10.zip" download="" class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-full font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none bg-transparent border hover:bg-brand-surface h-[42px] px-6 text-base text-brand-primary border-brand-primary focus-visible:ring-brand-primary"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-download h-4 w-4" aria-hidden="true"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" x2="12" y1="15" y2="3"></line></svg>Download .zip<span class="font-mono text-xs font-normal opacity-60">v0.3.10</span></a><a href="https://github.com/ocxers/keepreap-releases/releases/latest/download/KeepReap-macOS.dmg" class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-full font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none bg-transparent border hover:bg-brand-surface h-[42px] px-6 text-base text-brand-primary border-brand-primary focus-visible:ring-brand-primary"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-apple h-4 w-4" aria-hidden="true"><path d="M12 20.94c1.5 0 2.75 1.06 4 1.06 3 0 6-8 6-12.22A4.91 4.91 0 0 0 17 5c-2.22 0-4 1.44-5 2-1-.56-2.78-2-5-2a4.9 4.9 0 0 0-5 4.78C2 14 5 22 8 22c1.25 0 2.5-1.06 4-1.06Z"></path><path d="M10 2c1 .5 2 2 2 5"></path></svg>Download for Mac</a></div><a href="#how-it-works" class="inline-flex items-center gap-1 whitespace-nowrap underline-offset-4 transition-colors rounded-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none text-brand-text-2 hover:text-brand-text-1 hover:underline focus-visible:ring-brand-text-1 text-xs">How it works <span class="hero-bob inline-block" aria-hidden="true">â</span></a></div></div><div class="hero-reveal" style="--hero-d: 1140ms;"><p class="landing-hero-footnote text-brand-text-3 mx-auto mb-8 mt-4 hidden max-w-3xl text-xs sm:block md:mt-6">Free to start · No card required · Chrome, Mac and the web</p></div></section><section id="books" data-testid="landing-books" class="bg-brand-bg px-6 py-20 md:py-28"><div data-revealed="false" class="section-reveal mx-auto grid max-w-6xl items-center gap-12 lg:grid-cols-[minmax(0,5fr)_minmax(0,6fr)] lg:gap-16"><div><p class="section-reveal-item text-brand-text-3 font-mono text-[11px] font-semibold uppercase tracking-[0.18em]">
2791Free to read · No account needed</p><h2 class="section-reveal-item text-brand-text-1 mt-4 font-serif text-3xl font-medium tracking-tight md:text-5xl">Read a real book in English</h2><p class="section-reveal-item text-brand-text-2 mt-5 text-base leading-relaxed md:text-lg md:leading-relaxed" style="--reveal-d: 120ms;">Open a classic from the shelf and just read. When a word stops you, its meaning is right there â and the words you keep follow you into practice.</p><ul class="mt-8 space-y-5"><li class="section-reveal-item flex gap-4" style="--reveal-d: 200ms;"><span class="border-brand-border-subtle bg-brand-surface text-brand-text-1 flex size-10 shrink-0 items-center justify-center rounded-full border"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-mouse-pointer2 size-[18px]" aria-hidden="true"><path d="M4.037 4.688a.495.495 0 0 1 .651-.651l16 6.5a.5.5 0 0 1-.063.947l-6.124 1.58a2 2 0 0 0-1.438 1.435l-1.579 6.126a.5.5 0 0 1-.947.063z"></path></svg></span><div><h3 class="text-brand-text-1 text-base font-semibold">Hover to look it up</h3><p class="text-brand-text-2 mt-1 text-sm leading-relaxed md:text-[15px]">Rest the pointer on a word for a quick meaning, then tap Look Up to see what it means in that exact sentence.</p></div></li><li class="section-reveal-item flex gap-4" style="--reveal-d: 300ms;"><span class="border-brand-border-subtle bg-brand-surface text-brand-text-1 flex size-10 shrink-0 items-center justify-center rounded-full border"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-bookmark-plus size-[18px]" aria-hidden="true"><path d="m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z"></path><line x1="12" x2="12" y1="7" y2="13"></line><line x1="15" x2="9" y1="10" y2="10"></line></svg></span><div><h3 class="text-brand-text-1 text-base font-semibold">Keep the words you stop at</h3><p class="text-brand-text-2 mt-1 text-sm leading-relaxed md:text-[15px]">Save a word in one click. Each book's words gather into their own list in My Words, ready for review.</p></div></li><li class="section-reveal-item flex gap-4" style="--reveal-d: 400ms;"><span class="border-brand-border-subtle bg-brand-surface text-brand-text-1 flex size-10 shrink-0 items-center justify-center rounded-full border"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-up size-[18px]" aria-hidden="true"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path><path d="M12 12v6"></path><path d="m15 15-3-3-3 3"></path></svg></span><div><h3 class="text-brand-text-1 text-base font-semibold">Bring your own PDF</h3><p class="text-brand-text-2 mt-1 text-sm leading-relaxed md:text-[15px]">Upload the books you're already reading. The Free plan keeps up to 20 on your shelf; Plus and Pro have no limit.</p></div></li></ul><div class="section-reveal-item mt-9" style="--reveal-d: 520ms;"><a class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-full font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none bg-transparent text-brand-text-1 border border-brand-border hover:bg-brand-surface focus-visible:ring-brand-text-1 h-[42px] px-6 text-base" href="/books">Browse the Shelf<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right h-4 w-4" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a></div></div><ul aria-label="Books on the public shelf" class="section-reveal-item grid grid-cols-3 gap-4 sm:gap-5" style="--reveal-d: 240ms;"><li data-testid="landing-books-slot" aria-hidden="true"><span class="bg-brand-surface-strong border-brand-border-subtle relative block aspect-[2/3] w-full overflow-hidden rounded-xl border shadow-sm"></span></li><li data-testid="landing-books-slot" aria-hidden="true"><span class="bg-brand-surface-strong border-brand-border-subtle relative block aspect-[2/3] w-full overflow-hidden rounded-xl border shadow-sm"></span></li><li data-testid="landing-books-slot" aria-hidden="true"><span class="bg-brand-surface-strong border-brand-border-subtle relative block aspect-[2/3] w-full overflow-hidden rounded-xl border shadow-sm"></span></li><li data-testid="landing-books-slot" aria-hidden="true"><span class="bg-brand-surface-strong border-brand-border-subtle relative block aspect-[2/3] w-full overflow-hidden rounded-xl border shadow-sm"></span></li><li data-testid="landing-books-slot" aria-hidden="true"><span class="bg-brand-surface-strong border-brand-border-subtle relative block aspect-[2/3] w-full overflow-hidden rounded-xl border shadow-sm"></span></li><li data-testid="landing-books-slot" aria-hidden="true"><span class="bg-brand-surface-strong border-brand-border-subtle relative block aspect-[2/3] w-full overflow-hidden rounded-xl border shadow-sm"></span></li></ul></div><div class="mx-auto mt-14 max-w-5xl md:mt-20"><div data-testid="landing-video-reader" data-landing-video="" class="border-brand-border-subtle bg-brand-bg ring-brand-border-subtle relative w-full overflow-hidden rounded-xl border shadow-sm ring-1"><div class="bg-brand-surface-2 relative aspect-video w-full"><video src="/videos/keepreap-reader.mp4" poster="/videos/keepreap-reader.jpg" aria-label="Video: reading an English book and looking up words" width="1920" height="1080" loop="" playsinline="" preload="none" class="absolute inset-0 h-full w-full object-cover cursor-pointer"></video></div><div data-testid="landing-video-controls" class="border-brand-border-subtle text-brand-text-1 flex items-center gap-1 border-t px-2 py-1.5 sm:gap-2"><button type="button" data-testid="landing-video-play" aria-label="Play" title="Play" class="hover:bg-brand-surface focus-visible:ring-brand-text-1 inline-flex size-8 shrink-0 items-center justify-center rounded-full transition-colors focus-visible:outline-none focus-visible:ring-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-play size-4" aria-hidden="true"><polygon points="6 3 20 12 6 21 6 3"></polygon></svg></button><span class="text-brand-text-2 hidden min-w-[5.5rem] text-center text-xs tabular-nums sm:inline">0:00 / 0:00</span><div role="slider" tabindex="0" aria-label="Video progress" aria-valuemin="0" aria-valuemax="0" aria-valuenow="0" aria-valuetext="0:00 / 0:00" class="focus-visible:ring-brand-text-1 flex h-6 min-w-0 flex-1 cursor-pointer items-center rounded-full focus-visible:outline-none focus-visible:ring-2"><div class="bg-brand-border relative h-1 w-full overflow-hidden rounded-full"><div data-testid="landing-video-progress" class="bg-brand-text-1 absolute inset-y-0 left-0" style="width: 0%;"></div></div></div><button type="button" data-testid="landing-video-sound" aria-label="Turn sound on" title="Turn sound on" class="hover:bg-brand-surface focus-visible:ring-brand-text-1 inline-flex size-8 shrink-0 items-center justify-center rounded-full transition-colors focus-visible:outline-none focus-visible:ring-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-volume-x size-4" aria-hidden="true"><path d="M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z"></path><line x1="22" x2="16" y1="9" y2="15"></line><line x1="16" x2="22" y1="9" y2="15"></line></svg></button><button type="button" aria-label="Full screen" title="Full screen" class="hover:bg-brand-surface focus-visible:ring-brand-text-1 inline-flex size-8 shrink-0 items-center justify-center rounded-full transition-colors focus-visible:outline-none focus-visible:ring-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize size-4" aria-hidden="true"><path d="M8 3H5a2 2 0 0 0-2 2v3"></path><path d="M21 8V5a2 2 0 0 0-2-2h-3"></path><path d="M3 16v3a2 2 0 0 0 2 2h3"></path><path d="M16 21h3a2 2 0 0 0 2-2v-3"></path></svg></button></div></div></div></section><section id="how-it-works" data-testid="landing-loop" class="bg-brand-surface px-6 py-20 md:py-28"><div data-revealed="false" class="section-reveal mx-auto max-w-6xl"><h2 class="section-reveal-item text-brand-text-1 text-center font-serif text-3xl font-medium tracking-tight md:text-5xl">From a saved word to a word you use</h2><p class="section-reveal-item text-brand-text-2 mx-auto mt-5 max-w-2xl text-center text-base leading-relaxed md:text-lg md:leading-relaxed" style="--reveal-d: 120ms;">Whatever you keep â from the web, your Mac or a book â lands in one place and keeps coming back as practice until it sticks.</p><div class="section-reveal-item mx-auto mt-12 max-w-5xl" style="--reveal-d: 160ms;"><div data-testid="landing-video-practice" data-landing-video="" class="border-brand-border-subtle bg-brand-bg ring-brand-border-subtle relative w-full overflow-hidden rounded-xl border shadow-sm ring-1"><div class="bg-brand-surface-2 relative aspect-video w-full"><video src="/videos/keepreap-practice.mp4" poster="/videos/keepreap-practice.jpg" aria-label="Video: reviewing saved words" width="1920" height="1080" loop="" playsinline="" preload="none" class="absolute inset-0 h-full w-full object-cover cursor-pointer"></video></div><div data-testid="landing-video-controls" class="border-brand-border-subtle text-brand-text-1 flex items-center gap-1 border-t px-2 py-1.5 sm:gap-2"><button type="button" data-testid="landing-video-play" aria-label="Play" title="Play" class="hover:bg-brand-surface focus-visible:ring-brand-text-1 inline-flex size-8 shrink-0 items-center justify-center rounded-full transition-colors focus-visible:outline-none focus-visible:ring-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-play size-4" aria-hidden="true"><polygon points="6 3 20 12 6 21 6 3"></polygon></svg></button><span class="text-brand-text-2 hidden min-w-[5.5rem] text-center text-xs tabular-nums sm:inline">0:00 / 0:00</span><div role="slider" tabindex="0" aria-label="Video progress" aria-valuemin="0" aria-valuemax="0" aria-valuenow="0" aria-valuetext="0:00 / 0:00" class="focus-visible:ring-brand-text-1 flex h-6 min-w-0 flex-1 cursor-pointer items-center rounded-full focus-visible:outline-none focus-visible:ring-2"><div class="bg-brand-border relative h-1 w-full overflow-hidden rounded-full"><div data-testid="landing-video-progress" class="bg-brand-text-1 absolute inset-y-0 left-0" style="width: 0%;"></div></div></div><button type="button" data-testid="landing-video-sound" aria-label="Turn sound on" title="Turn sound on" class="hover:bg-brand-surface focus-visible:ring-brand-text-1 inline-flex size-8 shrink-0 items-center justify-center rounded-full transition-colors focus-visible:outline-none focus-visible:ring-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-volume-x size-4" aria-hidden="true"><path d="M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z"></path><line x1="22" x2="16" y1="9" y2="15"></line><line x1="16" x2="22" y1="9" y2="15"></line></svg></button><button type="button" aria-label="Full screen" title="Full screen" class="hover:bg-brand-surface focus-visible:ring-brand-text-1 inline-flex size-8 shrink-0 items-center justify-center rounded-full transition-colors focus-visible:outline-none focus-visible:ring-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize size-4" aria-hidden="true"><path d="M8 3H5a2 2 0 0 0-2 2v3"></path><path d="M21 8V5a2 2 0 0 0-2-2h-3"></path><path d="M3 16v3a2 2 0 0 0 2 2h3"></path><path d="M16 21h3a2 2 0 0 0 2-2v-3"></path></svg></button></div></div></div><ol class="mt-12 grid gap-6 md:grid-cols-2 lg:grid-cols-4"><li class="section-reveal-item border-brand-border-subtle bg-brand-bg relative rounded-xl border p-6" style="--reveal-d: 160ms;"><div class="text-brand-text-3 font-mono text-[10px] font-semibold uppercase tracking-wider">01</div><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-bookmark text-brand-text-1 mt-3 h-6 w-6" aria-hidden="true"><path d="m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z"></path></svg><div class="text-brand-text-1 mt-3 text-lg font-semibold">Collect it in My Words</div><p class="text-brand-text-2 mt-3 text-sm leading-relaxed md:text-[15px] md:leading-relaxed">Words and sentences you save arrive in <strong class="text-brand-text-1 font-semibold">My Words</strong> with their source attached. Or add a ready-made <strong class="text-brand-text-1 font-semibold">Word Library</strong> by level or topic in one tap.</p></li><li class="section-reveal-item border-brand-border-subtle bg-brand-bg relative rounded-xl border p-6" style="--reveal-d: 280ms;"><div class="text-brand-text-3 font-mono text-[10px] font-semibold uppercase tracking-wider">02</div><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-pencil-line text-brand-text-1 mt-3 h-6 w-6" aria-hidden="true"><path d="M12 20h9"></path><path d="M16.376 3.622a1 1 0 0 1 3.002 3.002L7.368 18.635a2 2 0 0 1-.855.506l-2.872.838a.5.5 0 0 1-.62-.62l.838-2.872a2 2 0 0 1 .506-.854z"></path><path d="m15 5 3 3"></path></svg><div class="text-brand-text-1 mt-3 text-lg font-semibold">Practise when it's due</div><p class="text-brand-text-2 mt-3 text-sm leading-relaxed md:text-[15px] md:leading-relaxed"><strong class="text-brand-text-1 font-semibold">Daily Review</strong> brings each item back just before you'd forget it. Practice climbs from picking the right word to <strong class="text-brand-text-1 font-semibold">writing your own sentence</strong>, marked by AI, and <strong class="text-brand-text-1 font-semibold">Weak Spots</strong> retrains your misses.</p></li><li class="section-reveal-item border-brand-border-subtle bg-brand-bg relative rounded-xl border p-6" style="--reveal-d: 400ms;"><div class="text-brand-text-3 font-mono text-[10px] font-semibold uppercase tracking-wider">03</div><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open-text text-brand-text-1 mt-3 h-6 w-6" aria-hidden="true"><path d="M12 7v14"></path><path d="M16 12h2"></path><path d="M16 8h2"></path><path d="M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"></path><path d="M6 12h2"></path><path d="M6 8h2"></path></svg><div class="text-brand-text-1 mt-3 text-lg font-semibold">Meet it in a story</div><p class="text-brand-text-2 mt-3 text-sm leading-relaxed md:text-[15px] md:leading-relaxed">KeepReap writes a <strong class="text-brand-text-1
2791 font-semibold">short story</strong> around the words you're learning. Read them in context, then write your own piece and get it marked.</p></li><li class="section-reveal-item border-brand-border-subtle bg-brand-bg relative rounded-xl border p-6" style="--reveal-d: 520ms;"><div class="text-brand-text-3 font-mono text-[10px] font-semibold uppercase tracking-wider">04</div><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-trending-up text-brand-text-1 mt-3 h-6 w-6" aria-hidden="true"><polyline points="22 7 13.5 15.5 8.5 10.5 2 17"></polyline><polyline points="16 7 22 7 22 13"></polyline></svg><div class="text-brand-text-1 mt-3 text-lg font-semibold">Watch it stick</div><p class="text-brand-text-2 mt-3 text-sm leading-relaxed md:text-[15px] md:leading-relaxed">Your <strong class="text-brand-text-1 font-semibold">streak</strong>, a <strong class="text-brand-text-1 font-semibold">Weekly Check</strong> and a <strong class="text-brand-text-1 font-semibold">CEFR breakdown</strong> of what you've mastered show real progress, not just a growing pile.</p></li></ol></div></section><section id="capture" data-testid="landing-extension-use" class="bg-brand-bg px-6 py-20 md:py-28"><div class="mx-auto max-w-[1500px]"><div class="mx-auto max-w-2xl text-center"><h2 class="text-brand-text-1 font-serif text-3xl font-medium tracking-tight md:text-5xl">Capture while you read</h2><p class="text-brand-text-2 mt-4 text-base leading-relaxed">Four steps. Same page. No tab leaves.</p></div><div class="mx-auto mt-12 max-w-5xl md:mt-16"><div data-testid="landing-video-capture" data-landing-video="" class="border-brand-border-subtle bg-brand-bg ring-brand-border-subtle relative w-full overflow-hidden rounded-xl border shadow-sm ring-1"><div class="bg-brand-surface-2 relative aspect-video w-full"><video src="/videos/keepreap-capture.mp4" poster="/videos/keepreap-capture.jpg" aria-label="Video: saving and translating a phrase while reading in the browser" width="1920" height="1080" loop="" playsinline="" preload="none" class="absolute inset-0 h-full w-full object-cover cursor-pointer"></video></div><div data-testid="landing-video-controls" class="border-brand-border-subtle text-brand-text-1 flex items-center gap-1 border-t px-2 py-1.5 sm:gap-2"><button type="button" data-testid="landing-video-play" aria-label="Play" title="Play" class="hover:bg-brand-surface focus-visible:ring-brand-text-1 inline-flex size-8 shrink-0 items-center justify-center rounded-full transition-colors focus-visible:outline-none focus-visible:ring-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-play size-4" aria-hidden="true"><polygon points="6 3 20 12 6 21 6 3"></polygon></svg></button><span class="text-brand-text-2 hidden min-w-[5.5rem] text-center text-xs tabular-nums sm:inline">0:00 / 0:00</span><div role="slider" tabindex="0" aria-label="Video progress" aria-valuemin="0" aria-valuemax="0" aria-valuenow="0" aria-valuetext="0:00 / 0:00" class="focus-visible:ring-brand-text-1 flex h-6 min-w-0 flex-1 cursor-pointer items-center rounded-full focus-visible:outline-none focus-visible:ring-2"><div class="bg-brand-border relative h-1 w-full overflow-hidden rounded-full"><div data-testid="landing-video-progress" class="bg-brand-text-1 absolute inset-y-0 left-0" style="width: 0%;"></div></div></div><button type="button" data-testid="landing-video-sound" aria-label="Turn sound on" title="Turn sound on" class="hover:bg-brand-surface focus-visible:ring-brand-text-1 inline-flex size-8 shrink-0 items-center justify-center rounded-full transition-colors focus-visible:outline-none focus-visible:ring-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-volume-x size-4" aria-hidden="true"><path d="M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z"></path><line x1="22" x2="16" y1="9" y2="15"></line><line x1="16" x2="22" y1="9" y2="15"></line></svg></button><button type="button" aria-label="Full screen" title="Full screen" class="hover:bg-brand-surface focus-visible:ring-brand-text-1 inline-flex size-8 shrink-0 items-center justify-center rounded-full transition-colors focus-visible:outline-none focus-visible:ring-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize size-4" aria-hidden="true"><path d="M8 3H5a2 2 0 0 0-2 2v3"></path><path d="M21 8V5a2 2 0 0 0-2-2h-3"></path><path d="M3 16v3a2 2 0 0 0 2 2h3"></path><path d="M16 21h3a2 2 0 0 0 2-2v-3"></path></svg></button></div></div></div><div class="mt-12 grid gap-10 md:mt-20 md:grid-cols-[3fr_2fr] md:gap-12"><div class="hidden md:block"><div class="sticky top-20 flex h-[calc(100vh-7rem)] max-h-[760px] items-center"><div role="img" aria-label="KeepReap extension toolbar and Side Panel while reading" data-scene="highlight" class="border-brand-border-subtle bg-brand-bg ring-brand-border-subtle group/stage relative w-full overflow-hidden rounded-xl border shadow-sm ring-1"><div class="border-brand-border-subtle bg-brand-surface flex items-center gap-2 border-b px-3 py-2"><span class="bg-brand-border-subtle h-2.5 w-2.5 rounded-full" aria-hidden="true"></span><span class="bg-brand-border-subtle h-2.5 w-2.5 rounded-full" aria-hidden="true"></span><span class="bg-brand-border-subtle h-2.5 w-2.5 rounded-full" aria-hidden="true"></span><div class="border-brand-border-subtle bg-brand-bg text-brand-text-3 ml-3 flex-1 truncate rounded-full border px-3 py-1 text-[10px]">https://keepreap.com</div></div><div class="relative flex min-h-[440px]"><div class="relative flex-1 px-6 py-8 transition-[margin-right] duration-300 group-data-[scene=sidepanel]/stage:mr-[280px] group-data-[scene=source]/stage:mr-[280px] motion-reduce:transition-none"><div class="text-brand-text-1 font-serif text-lg font-medium leading-snug">
2791How reading rewires the way we remember</div><div class="text-brand-text-2 mt-4 space-y-3 text-sm leading-relaxed"><p>Memory is not a recording device. It is a quiet rewrite of what we already half-believed.</p><p class="relative">The page in front of you is <span class="bg-brand-warning-surface text-brand-text-1 rounded px-1 py-0.5 transition-opacity duration-200 group-data-[scene=toolbar]/stage:opacity-80 group-data-[scene=sidepanel]/stage:opacity-60 group-data-[scene=source]/stage:opacity-60 motion-reduce:transition-none">a quiet rewrite of what we already half-believed</span> â and that is the line worth keeping.<span class="absolute left-1/2 top-full z-10 mt-2 -translate-x-1/2 translate-y-1 opacity-0 transition-[opacity,transform] duration-200 group-data-[scene=toolbar]/stage:translate-y-0 group-data-[scene=toolbar]/stage:opacity-100 motion-reduce:transition-none"><span class="border-brand-border-subtle bg-brand-bg ring-brand-border-subtle inline-flex items-center gap-0.5 rounded-full p-1 shadow-md ring-1"><span aria-hidden="true" class="text-brand-text-3 inline-flex h-7 w-4 items-center justify-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-grip-vertical h-3 w-3"><circle cx="9" cy="12" r="1"></circle><circle cx="9" cy="5" r="1"></circle><circle cx="9" cy="19" r="1"></circle><circle cx="15" cy="12" r="1"></circle><circle cx="15" cy="5" r="1"></circle><circle cx="15" cy="19" r="1"></circle></svg></span><span aria-hidden="true" class="text-brand-text-1 inline-flex h-7 w-7 items-center justify-center rounded-full"><svg viewBox="314 423 1159 947" fill="currentColor" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4" role="img" aria-label="KeepReap"><defs><linearGradient id="krm-r1" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#F5A23E"></stop><stop offset="1" stop-color="#E3620B"></stop></linearGradient></defs> 2792<g transform="scale(1.0078431 1)"><path d="M407.077 423.744C454.055 419.645 499.592 453.121 510.437 498.827C514.448 515.731 513.5 535.845 513.518 553.28L513.543 609.641L513.494 810.679L584.363 810.714C616.791 810.723 644.986 813.222 675.933 802.119C702.761 792.335 726.315 775.235 743.928 752.759C779.326 708.065 780.761 668.342 780.735 614.973L780.686 550.174C780.676 524.927 779.513 506.899 790.93 483.376C802.791 458.921 823.929 440.217 849.646 431.419C858.433 428.491 867.565 426.721 876.811 426.156C893.686 425.052 920.364 425.871 937.863 425.904L1047.73 425.899L1144.94 425.884C1169.97 425.887 1194.79 425.113 1219.65 428.32C1249.77 432.191 1279.02 441.062 1306.22 454.568C1375.92 488.946 1429.18 549.49 1454.41 622.992C1479.84 697.011 1474.94 778.09 1440.75 848.501C1405.05 920.889 1346.52 970.784 1270.35 996.653C1284.39 1014.92 1302.94 1036.08 1317.9 1054.07L1403.79 1157.43L1439.17 1199.8C1445.42 1207.37 1453.95 1217.22 1458.93 1225.29C1465.84 1236.66 1470.34 1249.35 1472.12 1262.54C1475.61 1288.09 1468.63 1313.96 1452.76 1334.27C1438.02 1353.6 1416.21 1366.27 1392.12 1369.5C1332.71 1376.9 1305.13 1329.41 1271.8 1289.75L1169.1 1167.54L10
279255.8 1031.76L1019.41 988.194C1013.52 981.158 1004.39 970.915 999.336 963.625C991.72 952.759 987.047 940.1 985.782 926.898C983.428 905.684 989.753 884.418 1003.31 867.923C1018.01 849.91 1037.28 841.433 1060.03 839.239C1065.6 838.44 1083.9 838.831 1090.32 838.843L1141.36 838.968C1182.6 839.065 1214.24 837.328 1246.21 805.922C1269.65 782.879 1282.85 751.377 1282.82 718.505C1282.85 686.217 1271.38 654.229 1248.24 631.294C1233.74 616.845 1215.5 606.712 1195.58 602.023C1175.88 597.356 1132 598.993 1109.75 598.998L976.936 599.032C976.918 618.967 977.349 641.632 976.391 661.241C972.649 737.499 943.3 811.219 892.008 867.981C881.247 879.894 871.686 888.362 859.649 899.096C870.522 907.388 880.825 916.418 890.471 926.099C940.147 976.001 971.05 1041.54 977.937 1111.61C979.949 1132.03 979.422 1154.44 979.413 1175.1L979.44 1257.02C979.396 1290.63 975.206 1317.21 949.836 1342.21C930.888 1360.73 905.325 1370.92 878.831 1370.51C858.083 1370.3 837.933 1363.55 821.242 1351.24C802.312 1337.37 788.944 1317.21 783.544 1294.38C779.594 1277.81 780.66 1257.87 780.677 1240.61L780.771 1169.76C780.848 1112.93 779.63 1067.66 735.92 1023.59C712.125 999.28 680.696 983.881 646.9 979.981C630.953 978.303 609.192 978.883 592.729 978.883L513.725 978.847C513.056 1004.78 513.465 1032.01 513.474 1058.05L513.488 1192.87C513.496 1216.55 513.428 1240.29 513.44 1263.96C513.452 1290.39 508.447 1311.86 491.641 1332.87C475.342 1353.56 451.428 1366.87 425.245 1369.81C398.611 1372.99 371.816 1365.33 350.899 1348.54C330.32 1331.97 317.215 1307.87 314.502 1281.59C313.181 1268.11 313.761 1247.71 313.767 1233.58L313.8 1152.59L313.807 886.666L313.773 635.042L313.768 557.578C313.773 544.267 313.221 524.309 314.605 511.735C316.703 492.882 324.253 475.051 336.331 460.424C354.582 438.248 378.693 426.341 407.077 423.744Z" fill="url(#krm-r1)"></path></g> 2793</svg></span><span aria-hidden="true" class="bg-brand-border mx-1 h-4 w-px"></span><span aria-hidden="true" class="text-brand-text-1 inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-full"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-languages h-3.5 w-3.5"><path d="m5 8 6 6"></path><path d="m4 14 6-6 2-3"></path><path d="M2 5h12"></path><path d="M7 2h1"></path><path d="m22 22-5-10-5 10"></path><path d="M14 18h6"></path></svg></span><span aria-hidden="true" class="text-brand-text-1 inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-full"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-3.5 w-3.5"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg></span><span aria-hidden="true" class="text-brand-text-1 inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-full"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-save h-3.5 w-3.5"><path d="M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z"></path><path d="M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7"></path><path d="M7 3v4a1 1 0 0 0 1 1h7"></path></svg></span><span aria-hidden="true" class="text-brand-text-1 inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-full"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy h-3.5 w-3.5"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></span><span aria-hidden="true" class="text-brand-text-1 inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-full"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-volume2 h-3.5 w-3.5"><path d="M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z"></path><path d="M16 9a5 5 0 0 1 0 6"></path><path d="M19.364 18.364a9 9 0 0 0 0-12.728"></path></svg></span><span aria-hidden="true" class="text-brand-text-1 inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-full"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-panel-right h-3.5 w-3.5"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M15 3v18"></path></svg></span><span aria-hidden="true" class="text-brand-text-1 inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-full"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-pin h-3.5 w-3.5"><path d="M12 17v5"></path><path d="M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7
2793a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z"></path></svg></span></span></span></p><p>What stays with you is not the whole page, but a smaller line you happened to underline.</p><p>Most words slip away the day after you read them â unless something brings them back.</p><p>We talk about reading as if it were storage. It isn't. It is a slower, stranger thing â a sieve that keeps the shape and lets the substance pass.</p><p>What returns to you weeks later is not the page you read, but the line you bothered to mark.</p></div><div aria-hidden="true" class="from-brand-bg pointer-events-none absolute inset-x-0 bottom-0 h-20 bg-gradient-to-t to-transparent"></div></div><div class="border-brand-border-subtle bg-brand-surface absolute inset-y-0 right-0 flex flex-col border-l w-[280px] translate-x-full transition-transform duration-300 group-data-[scene=sidepanel]/stage:translate-x-0 group-data-[scene=source]/stage:translate-x-0 motion-reduce:transition-none"><div class="border-brand-border-subtle bg-brand-bg flex items-center gap-1.5 border-b px-3 py-2"><svg viewBox="314 423 1159 947" fill="currentColor" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4" role="img" aria-label="KeepReap"><defs><linearGradient id="krm-r2" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#F5A23E"></stop><stop offset="1" stop-color="#E3620B"></stop></linearGradient></defs> 2794<g transform="scale(1.0078431 1)"><path d="M407.077 423.744C454.055 419.645 499.592 453.121 510.437 498.827C514.448 515.731 513.5 535.845 513.518 553.28L513.543 609.641L513.494 810.679L584.363 810.714C616.791 810.723 644.986 813.222 675.933 802.119C702.761 792.335 726.315 775.235 743.928 752.759C779.326 708.065 780.761 668.342 780.735 614.973L780.686 550.174C780.676 524.927 779.513 506.899 790.93 483.376C802.791 458.921 823.929 440.217 849.646 431.419C858.433 428.491 867.565 426.721 876.811 426.156C893.686 425.052 920.364 425.871 937.863 425.904L1047.73 425.899L1144.94 425.884C1169.97 425.887 1194.79 425.113 1219.65 428.32C1249.77 432.191 1279.02 441.062 1306.22 454.568C1375.92 488.946 1429.18 549.49 1454.41 622.992C1479.84 697.011 1474.94 778.09 1440.75 848.501C1405.05 920.889 1346.52 970.784 1270.35 996.653C1284.39 1014.92 1302.94 1036.08 1317.9 1054.07L1403.79 1157.43L1439.17 1199.8C1445.42 1207.37 1453.95 1217.22 1458.93 1225.29C1465.84 1236.66 1470.34 1249.35 1472.12 1262.54C1475.61 1288.09 1468.63 1313.96 1452.76 1334.27C1438.02 1353.6 1416.21 1366.27 1392.12 1369.5C1332.71 1376.9 1305.13 1329.41 1271.8 1289.75L1169.1 1167.54L10
279455.8 1031.76L1019.41 988.194C1013.52 981.158 1004.39 970.915 999.336 963.625C991.72 952.759 987.047 940.1 985.782 926.898C983.428 905.684 989.753 884.418 1003.31 867.923C1018.01 849.91 1037.28 841.433 1060.03 839.239C1065.6 838.44 1083.9 838.831 1090.32 838.843L1141.36 838.968C1182.6 839.065 1214.24 837.328 1246.21 805.922C1269.65 782.879 1282.85 751.377 1282.82 718.505C1282.85 686.217 1271.38 654.229 1248.24 631.294C1233.74 616.845 1215.5 606.712 1195.58 602.023C1175.88 597.356 1132 598.993 1109.75 598.998L976.936 599.032C976.918 618.967 977.349 641.632 976.391 661.241C972.649 737.499 943.3 811.219 892.008 867.981C881.247 879.894 871.686 888.362 859.649 899.096C870.522 907.388 880.825 916.418 890.471 926.099C940.147 976.001 971.05 1041.54 977.937 1111.61C979.949 1132.03 979.422 1154.44 979.413 1175.1L979.44 1257.02C979.396 1290.63 975.206 1317.21 949.836 1342.21C930.888 1360.73 905.325 1370.92 878.831 1370.51C858.083 1370.3 837.933 1363.55 821.242 1351.24C802.312 1337.37 788.944 1317.21 783.544 1294.38C779.594 1277.81 780.66 1257.87 780.677 1240.61L780.771 1169.76C780.848 1112.93 779.63 1067.66 735.92 1023.59C712.125 999.28 680.696 983.881 646.9 979.981C630.953 978.303 609.192 978.883 592.729 978.883L513.725 978.847C513.056 1004.78 513.465 1032.01 513.474 1058.05L513.488 1192.87C513.496 1216.55 513.428 1240.29 513.44 1263.96C513.452 1290.39 508.447 1311.86 491.641 1332.87C475.342 1353.56 451.428 1366.87 425.245 1369.81C398.611 1372.99 371.816 1365.33 350.899 1348.54C330.32 1331.97 317.215 1307.87 314.502 1281.59C313.181 1268.11 313.761 1247.71 313.767 1233.58L313.8 1152.59L313.807 886.666L313.773 635.042L313.768 557.578C313.773 544.267 313.221 524.309 314.605 511.735C316.703 492.882 324.253 475.051 336.331 460.424C354.582 438.248 378.693 426.341 407.077 423.744Z" fill="url(#krm-r2)"></path></g> 2795</svg><span class="text-brand-text-1 text-[11px] font-semibold">KeepReap</span><span class="ml-auto flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-pin text-brand-text-3 h-3 w-3" aria-hidden="true"><path d="M12 17v5"></path><path d="M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings text-brand-text-3 h-3 w-3" aria-hidden="true"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-log-out text-brand-text-3 h-3 w-3" aria-hidden="true"><path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"></path><polyline points="16 17 21 12 16 7"></polyline><line x1="21" x2="9" y1="12" y2="12"></line></svg></span></div><div class="border-brand-border-subtle bg-brand-bg space-y-2 border-b p-3"><div class="rounded-md border px-2 py-3 text-[10px] transition-colors duration-300 border-brand-border-subtle bg-brand-surface text-brand-text-3 motion-reduce:transition-none">Paste, type, or drag any textâ¦</div><div class="flex flex-wrap items-center gap-1"><span aria-hidden="true" class="border-brand-border-subtle text-brand-text-1 inline-flex items-center gap-1 rounded-full border px-1.5 py-0.5 text-[9px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-languages h-2.5 w-2.5"><path d="m5 8 6 6"></path><path d="m4 14 6-6 2-3"></path><path d="M2 5h12"></path><path d="M7 2h1"></path><path d="m22 22-5-10-5 10"></path><path d="M14 18h6"></path></svg>Translate</span><span aria-hidden="true" class="border-brand-border-subtle text-brand-text-1 inline-flex items-center gap-1 rounded-full border px-1.5 py-0.5 text-[9px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-2.5 w-2.5"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg>Improve</span><span aria-hidden="true" class="border-brand-border-subtle text-brand-text-1 inline-flex items-center gap-1 rounded-full border px-1.5 py-0.5 text-[9px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-save h-2.5 w-2.5"><path d="M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z"></path><path d="M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7"></path><path d="M7 3v4a1 1 0 0 0 1 1h7"></path></svg>Save</span><span aria-hidden="true" class="border-brand-border-subtle text-brand-text-1 inline-flex items-center gap-1 rounded-full border px-1.5 py-0.5 text-[9px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy h-2.5 w-2.5"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg>Copy</span></div></div><div class="bg-brand-surface flex-1 p-3"><div class="flex items-center justify-between"><span class="text-brand-text-3 text-[10px] font-semibold uppercase tracking-wider">Recent</span><span class="text-brand-text-3 inline-flex items-center gap-1 text-[9px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-refresh-cw h-2.5 w-2.5" aria-hidden="true"><path d="M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path><path d="M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"></path><path d="M8 16H3v5"></path></svg>Open Inbox â</span></div><div class="mt-2 space-y-2"><div class="border-brand-border-subtle bg-brand-bg rounded-md border p-2.5"><div class="text-brand-text-3 flex items-center gap-1.5 text-[9px] font-semibold tracking-wider"><span>TRANSLATE</span><span class="bg-brand-border-subtle h-2.5 w-px"></span><span>
2795IN LIBRARY</span></div><p class="text-brand-text-1 mt-1.5 line-clamp-2 text-[11px] leading-snug">a quiet rewrite of what we already half-believed</p><div class="text-brand-text-3 mt-2 flex items-center gap-1 text-[9px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link2 h-2.5 w-2.5" aria-hidden="true"><path d="M9 17H7A5 5 0 0 1 7 7h2"></path><path d="M15 7h2a5 5 0 1 1 0 10h-2"></path><line x1="8" x2="16" y1="12" y2="12"></line></svg><span class="truncate">keepreap.com</span></div></div><div class="border-brand-border-subtle bg-brand-bg rounded-md border p-2.5"><div class="text-brand-text-3 flex items-center gap-1.5 text-[9px] font-semibold tracking-wider"><span>IMPROVE</span><span class="bg-brand-border-subtle h-2.5 w-px"></span><span>IN LIBRARY</span></div><p class="text-brand-text-1 mt-1.5 line-clamp-2 text-[11px] leading-snug">Memory is not a recording device.</p><div class="text-brand-text-3 mt-2 flex items-center gap-1 text-[9px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link2 h-2.5 w-2.5" aria-hidden="true"><path d="M9 17H7A5 5 0 0 1 7 7h2"></path><path d="M15 7h2a5 5 0 1 1 0 10h-2"></path><line x1="8" x2="16" y1="12" y2="12"></line></svg><span class="truncate">keepreap.com</span></div></div><div class="border-brand-border-subtle bg-brand-bg rounded-md border p-2.5"><div class="text-brand-text-3 flex items-center gap-1.5 text-[9px] font-semibold tracking-wider"><span>TRANSLATE</span><span class="bg-brand-border-subtle h-2.5 w-px"></span><span>IN LIBRARY</span></div><p class="text-brand-text-1 mt-1.5 line-clamp-2 text-[11px] leading-snug">the line worth keeping</p><div class="text-brand-text-3 mt-2 flex items-center gap-1 text-[9px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link2 h-2.5 w-2.5" aria-hidden="true"><path d="M9 17H7A5 5 0 0 1 7 7h2"></path><path d="M15 7h2a5 5 0 1 1 0 10h-2"></path><line x1="8" x2="16" y1="12" y2="12"></line></svg><span class="truncate">keepreap.com</span></div></div></div></div></div><svg aria-hidden="true" class="pointer-events-none absolute inset-0 z-20 h-full w-full opacity-0 transition-opacity duration-300 group-data-[scene=source]/stage:opacity-100 motion-reduce:transition-none" viewBox="0 0 100 100" preserveAspectRatio="none"><path d="M 28 33 C 42 2, 60 2, 73 11" class="text-brand-primary/55 fill-none stroke-current [stroke-dasharray:120] [stroke-dashoffset:120] transition-[stroke-dashoffset] delay-100 duration-500 group-data-[scene=source]/stage:[stroke-dashoffset:0] motion-reduce:transition-none group-data-[scene=source]/stage:motion-reduce:[stroke-dashoffset:0]" stroke-width="0.7" stroke-linecap="round"></path></svg><svg aria-hidden="true" class="text-brand-primary/80 pointer-events-none absolute z-30 h-8 w-8 -translate-x-1/2 -translate-y-1/2 left-[73%] top-[11%] rotate-[25deg] opacity-0 transition-opacity delay-500 duration-200 group-data-[scene=source]/stage:opacity-100 motion-reduce:transition-none" viewBox="0 0 16 16"><path d="M 3 4 Q 8 6, 14 8 Q 8 10, 3 12" class="fill-none stroke-current" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"></path></svg></div></div></div></div><div class="md:flex md:flex-col"><div class="flex flex-col py-12 md:py-20 min-h-[60vh] justify-center md:min-h-[70vh]"><div class="mb-6 md:hidden"><div aria-hidden="true" data-scene="highlight" class="border-brand-border-subtle bg-brand-bg ring-brand-border-subtle group/stage relative w-full overflow-hidden rounded-xl border shadow-sm ring-1 max-h-[360px]"><div class="border-brand-border-subtle bg-brand-surface flex items-center gap-2 border-b px-3 py-2"><span class="bg-brand-border-subtle h-2.5 w-2.5 rounded-full" aria-hidden="true"></span><span class="bg-brand-border-subtle h-2.5 w-2.5 rounded-full" aria-hidden="true"></span><span class="bg-brand-border-subtle h-2.5 w-2.5 rounded-full" aria-hidden="true"></span><div class="border-brand-border-subtle bg-brand-bg text-brand-text-3 ml-3 flex-1 truncate rounded-full border px-3 py-1 text-[10px]">https://keepreap.com</div></div><div class="relative flex min-h-[280px]"><div class="relative flex-1 px-6 py-8 transition-[margin-right] duration-300 group-data-[scene=sidepanel]/stage:mr-[280px] group-data-[scene=source]/stage:mr-[280px] group-data-[scene=sidepanel]/stage:!mr-[55%] group-data-[scene=source]/stage:!mr-[55%] motion-reduce:transition-none"><div class="text-brand-text-1 font-serif text-lg font-medium leading-snug">
2795How reading rewires the way we remember</div><div class="text-brand-text-2 mt-4 space-y-3 text-sm leading-relaxed"><p>Memory is not a recording device. It is a quiet rewrite of what we already half-believed.</p><p class="relative">The page in front of you is <span class="bg-brand-warning-surface text-brand-text-1 rounded px-1 py-0.5 transition-opacity duration-200 group-data-[scene=toolbar]/stage:opacity-80 group-data-[scene=sidepanel]/stage:opacity-60 group-data-[scene=source]/stage:opacity-60 motion-reduce:transition-none">a quiet rewrite of what we already half-believed</span> â and that is the line worth keeping.<span class="absolute left-1/2 top-full z-10 mt-2 -translate-x-1/2 translate-y-1 opacity-0 transition-[opacity,transform] duration-200 group-data-[scene=toolbar]/stage:translate-y-0 group-data-[scene=toolbar]/stage:opacity-100 motion-reduce:transition-none"><span class="border-brand-border-subtle bg-brand-bg ring-brand-border-subtle inline-flex items-center gap-0.5 rounded-full p-1 shadow-md ring-1"><span aria-hidden="true" class="text-brand-text-3 inline-flex h-7 w-4 items-center justify-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-grip-vertical h-3 w-3"><circle cx="9" cy="12" r="1"></circle><circle cx="9" cy="5" r="1"></circle><circle cx="9" cy="19" r="1"></circle><circle cx="15" cy="12" r="1"></circle><circle cx="15" cy="5" r="1"></circle><circle cx="15" cy="19" r="1"></circle></svg></span><span aria-hidden="true" class="text-brand-text-1 inline-flex h-7 w-7 items-center justify-center rounded-full"><svg viewBox="314 423 1159 947" fill="currentColor" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4" role="img" aria-label="KeepReap"><defs><linearGradient id="krm-r3" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#F5A23E"></stop><stop offset="1" stop-color="#E3620B"></stop></linearGradient></defs> 2796<g transform="scale(1.0078431 1)"><path d="M407.077 423.744C454.055 419.645 499.592 453.121 510.437 498.827C514.448 515.731 513.5 535.845 513.518 553.28L513.543 609.641L513.494 810.679L584.363 810.714C616.791 810.723 644.986 813.222 675.933 802.119C702.761 792.335 726.315 775.235 743.928 752.759C779.326 708.065 780.761 668.342 780.735 614.973L780.686 550.174C780.676 524.927 779.513 506.899 790.93 483.376C802.791 458.921 823.929 440.217 849.646 431.419C858.433 428.491 867.565 426.721 876.811 426.156C893.686 425.052 920.364 425.871 937.863 425.904L1047.73 425.899L1144.94 425.884C1169.97 425.887 1194.79 425.113 1219.65 428.32C1249.77 432.191 1279.02 441.062 1306.22 454.568C1375.92 488.946 1429.18 549.49 1454.41 622.992C1479.84 697.011 1474.94 778.09 1440.75 848.501C1405.05 920.889 1346.52 970.784 1270.35 996.653C1284.39 1014.92 1302.94 1036.08 1317.9 1054.07L1403.79 1157.43L1439.17 1199.8C1445.42 1207.37 1453.95 1217.22 1458.93 1225.29C1465.84 1236.66 1470.34 1249.35 1472.12 1262.54C1475.61 1288.09 1468.63 1313.96 1452.76 1334.27C1438.02 1353.6 1416.21 1366.27 1392.12 1369.5C1332.71 1376.9 1305.13 1329.41 1271.8 1289.75L1169.1 1167.54L10
279655.8 1031.76L1019.41 988.194C1013.52 981.158 1004.39 970.915 999.336 963.625C991.72 952.759 987.047 940.1 985.782 926.898C983.428 905.684 989.753 884.418 1003.31 867.923C1018.01 849.91 1037.28 841.433 1060.03 839.239C1065.6 838.44 1083.9 838.831 1090.32 838.843L1141.36 838.968C1182.6 839.065 1214.24 837.328 1246.21 805.922C1269.65 782.879 1282.85 751.377 1282.82 718.505C1282.85 686.217 1271.38 654.229 1248.24 631.294C1233.74 616.845 1215.5 606.712 1195.58 602.023C1175.88 597.356 1132 598.993 1109.75 598.998L976.936 599.032C976.918 618.967 977.349 641.632 976.391 661.241C972.649 737.499 943.3 811.219 892.008 867.981C881.247 879.894 871.686 888.362 859.649 899.096C870.522 907.388 880.825 916.418 890.471 926.099C940.147 976.001 971.05 1041.54 977.937 1111.61C979.949 1132.03 979.422 1154.44 979.413 1175.1L979.44 1257.02C979.396 1290.63 975.206 1317.21 949.836 1342.21C930.888 1360.73 905.325 1370.92 878.831 1370.51C858.083 1370.3 837.933 1363.55 821.242 1351.24C802.312 1337.37 788.944 1317.21 783.544 1294.38C779.594 1277.81 780.66 1257.87 780.677 1240.61L780.771 1169.76C780.848 1112.93 779.63 1067.66 735.92 1023.59C712.125 999.28 680.696 983.881 646.9 979.981C630.953 978.303 609.192 978.883 592.729 978.883L513.725 978.847C513.056 1004.78 513.465 1032.01 513.474 1058.05L513.488 1192.87C513.496 1216.55 513.428 1240.29 513.44 1263.96C513.452 1290.39 508.447 1311.86 491.641 1332.87C475.342 1353.56 451.428 1366.87 425.245 1369.81C398.611 1372.99 371.816 1365.33 350.899 1348.54C330.32 1331.97 317.215 1307.87 314.502 1281.59C313.181 1268.11 313.761 1247.71 313.767 1233.58L313.8 1152.59L313.807 886.666L313.773 635.042L313.768 557.578C313.773 544.267 313.221 524.309 314.605 511.735C316.703 492.882 324.253 475.051 336.331 460.424C354.582 438.248 378.693 426.341 407.077 423.744Z" fill="url(#krm-r3)"></path></g> 2797</svg></span><span aria-hidden="true" class="bg-brand-border mx-1 h-4 w-px"></span><span aria-hidden="true" class="text-brand-text-1 inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-full"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-languages h-3.5 w-3.5"><path d="m5 8 6 6"></path><path d="m4 14 6-6 2-3"></path><path d="M2 5h12"></path><path d="M7 2h1"></path><path d="m22 22-5-10-5 10"></path><path d="M14 18h6"></path></svg></span><span aria-hidden="true" class="text-brand-text-1 inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-full"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-3.5 w-3.5"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg></span><span aria-hidden="true" class="text-brand-text-1 inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-full"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-save h-3.5 w-3.5"><path d="M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z"></path><path d="M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7"></path><path d="M7 3v4a1 1 0 0 0 1 1h7"></path></svg></span><span aria-hidden="true" class="text-brand-text-1 inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-full"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy h-3.5 w-3.5"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></span><span aria-hidden="true" class="text-brand-text-1 inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-full"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-volume2 h-3.5 w-3.5"><path d="M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z"></path><path d="M16 9a5 5 0 0 1 0 6"></path><path d="M19.364 18.364a9 9 0 0 0 0-12.728"></path></svg></span><span aria-hidden="true" class="text-brand-text-1 inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-full"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-panel-right h-3.5 w-3.5"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M15 3v18"></path></svg></span><span aria-hidden="true" class="text-brand-text-1 inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-full"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-pin h-3.5 w-3.5"><path d="M12 17v5"></path><path d="M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7
2797a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z"></path></svg></span></span></span></p><p>What stays with you is not the whole page, but a smaller line you happened to underline.</p><p>Most words slip away the day after you read them â unless something brings them back.</p><p>We talk about reading as if it were storage. It isn't. It is a slower, stranger thing â a sieve that keeps the shape and lets the substance pass.</p><p>What returns to you weeks later is not the page you read, but the line you bothered to mark.</p></div><div aria-hidden="true" class="from-brand-bg pointer-events-none absolute inset-x-0 bottom-0 h-20 bg-gradient-to-t to-transparent"></div></div><div class="border-brand-border-subtle bg-brand-surface absolute inset-y-0 right-0 flex flex-col border-l w-[55%] translate-x-full transition-transform duration-300 group-data-[scene=sidepanel]/stage:translate-x-0 group-data-[scene=source]/stage:translate-x-0 motion-reduce:transition-none"><div class="border-brand-border-subtle bg-brand-bg flex items-center gap-1.5 border-b px-3 py-2"><svg viewBox="314 423 1159 947" fill="currentColor" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4" role="img" aria-label="KeepReap"><defs><linearGradient id="krm-r4" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#F5A23E"></stop><stop offset="1" stop-color="#E3620B"></stop></linearGradient></defs> 2798<g transform="scale(1.0078431 1)"><path d="M407.077 423.744C454.055 419.645 499.592 453.121 510.437 498.827C514.448 515.731 513.5 535.845 513.518 553.28L513.543 609.641L513.494 810.679L584.363 810.714C616.791 810.723 644.986 813.222 675.933 802.119C702.761 792.335 726.315 775.235 743.928 752.759C779.326 708.065 780.761 668.342 780.735 614.973L780.686 550.174C780.676 524.927 779.513 506.899 790.93 483.376C802.791 458.921 823.929 440.217 849.646 431.419C858.433 428.491 867.565 426.721 876.811 426.156C893.686 425.052 920.364 425.871 937.863 425.904L1047.73 425.899L1144.94 425.884C1169.97 425.887 1194.79 425.113 1219.65 428.32C1249.77 432.191 1279.02 441.062 1306.22 454.568C1375.92 488.946 1429.18 549.49 1454.41 622.992C1479.84 697.011 1474.94 778.09 1440.75 848.501C1405.05 920.889 1346.52 970.784 1270.35 996.653C1284.39 1014.92 1302.94 1036.08 1317.9 1054.07L1403.79 1157.43L1439.17 1199.8C1445.42 1207.37 1453.95 1217.22 1458.93 1225.29C1465.84 1236.66 1470.34 1249.35 1472.12 1262.54C1475.61 1288.09 1468.63 1313.96 1452.76 1334.27C1438.02 1353.6 1416.21 1366.27 1392.12 1369.5C1332.71 1376.9 1305.13 1329.41 1271.8 1289.75L1169.1 1167.54L10
279855.8 1031.76L1019.41 988.194C1013.52 981.158 1004.39 970.915 999.336 963.625C991.72 952.759 987.047 940.1 985.782 926.898C983.428 905.684 989.753 884.418 1003.31 867.923C1018.01 849.91 1037.28 841.433 1060.03 839.239C1065.6 838.44 1083.9 838.831 1090.32 838.843L1141.36 838.968C1182.6 839.065 1214.24 837.328 1246.21 805.922C1269.65 782.879 1282.85 751.377 1282.82 718.505C1282.85 686.217 1271.38 654.229 1248.24 631.294C1233.74 616.845 1215.5 606.712 1195.58 602.023C1175.88 597.356 1132 598.993 1109.75 598.998L976.936 599.032C976.918 618.967 977.349 641.632 976.391 661.241C972.649 737.499 943.3 811.219 892.008 867.981C881.247 879.894 871.686 888.362 859.649 899.096C870.522 907.388 880.825 916.418 890.471 926.099C940.147 976.001 971.05 1041.54 977.937 1111.61C979.949 1132.03 979.422 1154.44 979.413 1175.1L979.44 1257.02C979.396 1290.63 975.206 1317.21 949.836 1342.21C930.888 1360.73 905.325 1370.92 878.831 1370.51C858.083 1370.3 837.933 1363.55 821.242 1351.24C802.312 1337.37 788.944 1317.21 783.544 1294.38C779.594 1277.81 780.66 1257.87 780.677 1240.61L780.771 1169.76C780.848 1112.93 779.63 1067.66 735.92 1023.59C712.125 999.28 680.696 983.881 646.9 979.981C630.953 978.303 609.192 978.883 592.729 978.883L513.725 978.847C513.056 1004.78 513.465 1032.01 513.474 1058.05L513.488 1192.87C513.496 1216.55 513.428 1240.29 513.44 1263.96C513.452 1290.39 508.447 1311.86 491.641 1332.87C475.342 1353.56 451.428 1366.87 425.245 1369.81C398.611 1372.99 371.816 1365.33 350.899 1348.54C330.32 1331.97 317.215 1307.87 314.502 1281.59C313.181 1268.11 313.761 1247.71 313.767 1233.58L313.8 1152.59L313.807 886.666L313.773 635.042L313.768 557.578C313.773 544.267 313.221 524.309 314.605 511.735C316.703 492.882 324.253 475.051 336.331 460.424C354.582 438.248 378.693 426.341 407.077 423.744Z" fill="url(#krm-r4)"></path></g> 2799</svg><span class="text-brand-text-1 text-[11px] font-semibold">KeepReap</span><span class="ml-auto flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-pin text-brand-text-3 h-3 w-3" aria-hidden="true"><path d="M12 17v5"></path><path d="M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings text-brand-text-3 h-3 w-3" aria-hidden="true"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-log-out text-brand-text-3 h-3 w-3" aria-hidden="true"><path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"></path><polyline points="16 17 21 12 16 7"></polyline><line x1="21" x2="9" y1="12" y2="12"></line></svg></span></div><div class="border-brand-border-subtle bg-brand-bg space-y-2 border-b p-3"><div class="rounded-md border px-2 py-3 text-[10px] transition-colors duration-300 border-brand-border-subtle bg-brand-surface text-brand-text-3 motion-reduce:transition-none">Paste, type, or drag any textâ¦</div><div class="flex flex-wrap items-center gap-1"><span aria-hidden="true" class="border-brand-border-subtle text-brand-text-1 inline-flex items-center gap-1 rounded-full border px-1.5 py-0.5 text-[9px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-languages h-2.5 w-2.5"><path d="m5 8 6 6"></path><path d="m4 14 6-6 2-3"></path><path d="M2 5h12"></path><path d="M7 2h1"></path><path d="m22 22-5-10-5 10"></path><path d="M14 18h6"></path></svg>Translate</span><span aria-hidden="true" class="border-brand-border-subtle text-brand-text-1 inline-flex items-center gap-1 rounded-full border px-1.5 py-0.5 text-[9px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-2.5 w-2.5"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg>Improve</span><span aria-hidden="true" class="border-brand-border-subtle text-brand-text-1 inline-flex items-center gap-1 rounded-full border px-1.5 py-0.5 text-[9px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-save h-2.5 w-2.5"><path d="M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z"></path><path d="M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7"></path><path d="M7 3v4a1 1 0 0 0 1 1h7"></path></svg>Save</span><span aria-hidden="true" class="border-brand-border-subtle text-brand-text-1 inline-flex items-center gap-1 rounded-full border px-1.5 py-0.5 text-[9px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy h-2.5 w-2.5"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg>Copy</span></div></div><div class="bg-brand-surface flex-1 p-3"><div class="flex items-center justify-between"><span class="text-brand-text-3 text-[10px] font-semibold uppercase tracking-wider">Recent</span><span class="text-brand-text-3 inline-flex items-center gap-1 text-[9px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-refresh-cw h-2.5 w-2.5" aria-hidden="true"><path d="M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path><path d="M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"></path><path d="M8 16H3v5"></path></svg>Open Inbox â</span></div><div class="mt-2 space-y-2"><div class="border-brand-border-subtle bg-brand-bg rounded-md border p-2.5"><div class="text-brand-text-3 flex items-center gap-1.5 text-[9px] font-semibold tracking-wider"><span>TRANSLATE</span><span class="bg-brand-border-subtle h-2.5 w-px"></span><span>
2799IN LIBRARY</span></div><p class="text-brand-text-1 mt-1.5 line-clamp-2 text-[11px] leading-snug">a quiet rewrite of what we already half-believed</p><div class="text-brand-text-3 mt-2 flex items-center gap-1 text-[9px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link2 h-2.5 w-2.5" aria-hidden="true"><path d="M9 17H7A5 5 0 0 1 7 7h2"></path><path d="M15 7h2a5 5 0 1 1 0 10h-2"></path><line x1="8" x2="16" y1="12" y2="12"></line></svg><span class="truncate">keepreap.com</span></div></div><div class="border-brand-border-subtle bg-brand-bg rounded-md border p-2.5"><div class="text-brand-text-3 flex items-center gap-1.5 text-[9px] font-semibold tracking-wider"><span>IMPROVE</span><span class="bg-brand-border-subtle h-2.5 w-px"></span><span>IN LIBRARY</span></div><p class="text-brand-text-1 mt-1.5 line-clamp-2 text-[11px] leading-snug">Memory is not a recording device.</p><div class="text-brand-text-3 mt-2 flex items-center gap-1 text-[9px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link2 h-2.5 w-2.5" aria-hidden="true"><path d="M9 17H7A5 5 0 0 1 7 7h2"></path><path d="M15 7h2a5 5 0 1 1 0 10h-2"></path><line x1="8" x2="16" y1="12" y2="12"></line></svg><span class="truncate">keepreap.com</span></div></div><div class="border-brand-border-subtle bg-brand-bg rounded-md border p-2.5"><div class="text-brand-text-3 flex items-center gap-1.5 text-[9px] font-semibold tracking-wider"><span>TRANSLATE</span><span class="bg-brand-border-subtle h-2.5 w-px"></span><span>IN LIBRARY</span></div><p class="text-brand-text-1 mt-1.5 line-clamp-2 text-[11px] leading-snug">the line worth keeping</p><div class="text-brand-text-3 mt-2 flex items-center gap-1 text-[9px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link2 h-2.5 w-2.5" aria-hidden="true"><path d="M9 17H7A5 5 0 0 1 7 7h2"></path><path d="M15 7h2a5 5 0 1 1 0 10h-2"></path><line x1="8" x2="16" y1="12" y2="12"></line></svg><span class="truncate">keepreap.com</span></div></div></div></div></div><svg aria-hidden="true" class="pointer-events-none absolute inset-0 z-20 h-full w-full opacity-0 transition-opacity duration-300 group-data-[scene=source]/stage:opacity-100 motion-reduce:transition-none" viewBox="0 0 100 100" preserveAspectRatio="none"><path d="M 28 33 C 42 2, 60 2, 73 11" class="text-brand-primary/55 fill-none stroke-current [stroke-dasharray:120] [stroke-dashoffset:120] transition-[stroke-dashoffset] delay-100 duration-500 group-data-[scene=source]/stage:[stroke-dashoffset:0] motion-reduce:transition-none group-data-[scene=source]/stage:motion-reduce:[stroke-dashoffset:0]" stroke-width="0.7" stroke-linecap="round"></path></svg><svg aria-hidden="true" class="text-brand-primary/80 pointer-events-none absolute z-30 h-8 w-8 -translate-x-1/2 -translate-y-1/2 left-[73%] top-[11%] rotate-[25deg] opacity-0 transition-opacity delay-500 duration-200 group-data-[scene=source]/stage:opacity-100 motion-reduce:transition-none" viewBox="0 0 16 16"><path d="M 3 4 Q 8 6, 14 8 Q 8 10, 3 12" class="fill-none stroke-current" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"></path></svg></div></div></div><div class=""><h3 class="text-brand-text-1 font-serif text-2xl font-medium leading-tight md:text-3xl">Read first. Mark what stays.</h3><p class="text-brand-text-2 mt-4 text-base leading-relaxed md:text-lg md:leading-relaxed">Select any sentence with your mouse. Your reading position stays exactly where it was â no scroll jump, no new tab, no popup stealing focus. The page itself remembers what you marked, even after you've closed the article and walked away.</p><ul class="text-brand-text-2 mt-4 list-none space-y-2 text-sm leading-relaxed md:text-base"><li><strong class="text-brand-text-1 font-semibold">
2799Works anywhere</strong> on the web â any article, any page.</li><li><strong class="text-brand-text-1 font-semibold">Mark persists</strong> across sessions â close and come back tomorrow.</li><li><strong class="text-brand-text-1 font-semibold">No login wall</strong> â sign in only when you save.</li></ul></div></div><div class="flex flex-col py-12 md:py-20 min-h-[60vh] justify-center md:min-h-[70vh]"><div class="mb-6 md:hidden"><div aria-hidden="true" data-scene="toolbar" class="border-brand-border-subtle bg-brand-bg ring-brand-border-subtle group/stage relative w-full overflow-hidden rounded-xl border shadow-sm ring-1 max-h-[360px]"><div class="border-brand-border-subtle bg-brand-surface flex items-center gap-2 border-b px-3 py-2"><span class="bg-brand-border-subtle h-2.5 w-2.5 rounded-full" aria-hidden="true"></span><span class="bg-brand-border-subtle h-2.5 w-2.5 rounded-full" aria-hidden="true"></span><span class="bg-brand-border-subtle h-2.5 w-2.5 rounded-full" aria-hidden="true"></span><div class="border-brand-border-subtle bg-brand-bg text-brand-text-3 ml-3 flex-1 truncate rounded-full border px-3 py-1 text-[10px]">https://keepreap.com</div></div><div class="relative flex min-h-[280px]"><div class="relative flex-1 px-6 py-8 transition-[margin-right] duration-300 group-data-[scene=sidepanel]/stage:mr-[280px] group-data-[scene=source]/stage:mr-[280px] group-data-[scene=sidepanel]/stage:!mr-[55%] group-data-[scene=source]/stage:!mr-[55%] motion-reduce:transition-none"><div class="text-brand-text-1 font-serif text-lg font-medium leading-snug">How reading rewires the way we remember</div><div class="text-brand-text-2 mt-4 space-y-3 text-sm leading-relaxed"><p>Memory is not a recording device. It is a quiet rewrite of what we already half-believed.</p><p class="relative">The page in front of you is <span class="bg-brand-warning-surface text-brand-text-1 rounded px-1 py-0.5 transition-opacity duration-200 group-data-[scene=toolbar]/stage:opacity-80 group-data-[scene=sidepanel]/stage:opacity-60 group-data-[scene=source]/stage:opacity-60 motion-reduce:transition-none">a quiet rewrite of what we already half-believed</span> â and that is the line worth keeping.<span class="absolute left-1/2 top-full z-10 mt-2 -translate-x-1/2 translate-y-1 opacity-0 transition-[opacity,transform] duration-200 group-data-[scene=toolbar]/stage:translate-y-0 group-data-[scene=toolbar]/stage:opacity-100 motion-reduce:transition-none"><span class="border-brand-border-subtle bg-brand-bg ring-brand-border-subtle inline-flex items-center gap-0.5 rounded-full p-1 shadow-md ring-1"><span aria-hidden="true" class="text-brand-text-3 inline-flex h-7 w-4 items-center justify-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-grip-vertical h-3 w-3"><circle cx="9" cy="12" r="1"></circle><circle cx="9" cy="5" r="1"></circle><circle cx="9" cy="19" r="1"></circle><circle cx="15" cy="12" r="1"></circle><circle cx="15" cy="5" r="1"></circle><circle cx="15" cy="19" r="1"></circle></svg></span><span aria-hidden="true" class="text-brand-text-1 inline-flex h-7 w-7 items-center justify-center rounded-full"><svg viewBox="314 423 1159 947" fill="currentColor" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4" role="img" aria-label="KeepReap"><defs><linearGradient id="krm-r5" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#F5A23E"></stop><stop offset="1" stop-color="#E3620B"></stop></linearGradient></defs> 2800<g transform="scale(1.0078431 1)"><path d="M407.077 423.744C454.055 419.645 499.592 453.121 510.437 498.827C514.448 515.731 513.5 535.845 513.518 553.28L513.543 609.641L513.494 810.679L584.363 810.714C616.791 810.723 644.986 813.222 675.933 802.119C702.761 792.335 726.315 775.235 743.928 752.759C779.326 708.065 780.761 668.342 780.735 614.973L780.686 550.174C780.676 524.927 779.513 506.899 790.93 483.376C802.791 458.921 823.929 440.217 849.646 431.419C858.433 428.491 867.565 426.721 876.811 426.156C893.686 425.052 920.364 425.871 937.863 425.904L1047.73 425.899L1144.94 425.884C1169.97 425.887 1194.79 425.113 1219.65 428.32C1249.77 432.191 1279.02 441.062 1306.22 454.568C1375.92 488.946 1429.18 549.49 1454.41 622.992C1479.84 697.011 1474.94 778.09 1440.75 848.501C1405.05 920.889 1346.52 970.784 1270.35 996.653C1284.39 1014.92 1302.94 1036.08 1317.9 1054.07L1403.79 1157.43L1439.17 1199.8C1445.42 1207.37 1453.95 1217.22 1458.93 1225.29C1465.84 1236.66 1470.34 1249.35 1472.12 1262.54C1475.61 1288.09 1468.63 1313.96 1452.76 1334.27C1438.02 1353.6 1416.21 1366.27 1392.12 1369.5C1332.71 1376.9 1305.13
28001329.41 1271.8 1289.75L1169.1 1167.54L1055.8 1031.76L1019.41 988.194C1013.52 981.158 1004.39 970.915 999.336 963.625C991.72 952.759 987.047 940.1 985.782 926.898C983.428 905.684 989.753 884.418 1003.31 867.923C1018.01 849.91 1037.28 841.433 1060.03 839.239C1065.6 838.44 1083.9 838.831 1090.32 838.843L1141.36 838.968C1182.6 839.065 1214.24 837.328 1246.21 805.922C1269.65 782.879 1282.85 751.377 1282.82 718.505C1282.85 686.217 1271.38 654.229 1248.24 631.294C1233.74 616.845 1215.5 606.712 1195.58 602.023C1175.88 597.356 1132 598.993 1109.75 598.998L976.936 599.032C976.918 618.967 977.349 641.632 976.391 661.241C972.649 737.499 943.3 811.219 892.008 867.981C881.247 879.894 871.686 888.362 859.649 899.096C870.522 907.388 880.825 916.418 890.471 926.099C940.147 976.001 971.05 1041.54 977.937 1111.61C979.949 1132.03 979.422 1154.44 979.413 1175.1L979.44 1257.02C979.396 1290.63 975.206 1317.21 949.836 1342.21C930.888 1360.73 905.325 1370.92 878.831 1370.51C858.083 1370.3 837.933 1363.55 821.242 1351.24C802.312 1337.37 788.944 1317.21 783.544 1294.38C779.594 1277.81 780.66 1257.87 780.677 1240.61L780.771 1169.76C780.848 1112.93 779.63 1067.66 735.92 1023.59C712.125 999.28 680.696 983.881 646.9 979.981C630.953 978.303 609.192 978.883 592.729 978.883L513.725 978.847C513.056 1004.78 513.465 1032.01 513.474 1058.05L513.488 1192.87C513.496 1216.55 513.428 1240.29 513.44 1263.96C513.452 1290.39 508.447 1311.86 491.641 1332.87C475.342 1353.56 451.428 1366.87 425.245 1369.81C398.611 1372.99 371.816 1365.33 350.899 1348.54C330.32 1331.97 317.215 1307.87 314.502 1281.59C313.181 1268.11 313.761 1247.71 313.767 1233.58L313.8 1152.59L313.807 886.666L313.773 635.042L313.768 557.578C313.773 544.267 313.221 524.309 314.605 511.735C316.703 492.882 324.253 475.051 336.331 460.424C354.582 438.248 378.693 426.341 407.077 423.744Z" fill="url(#krm-r5)"></path></g> 2801</svg></span><span aria-hidden="true" class="bg-brand-border mx-1 h-4 w-px"></span><span aria-hidden="true" class="text-brand-text-1 inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-full"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-languages h-3.5 w-3.5"><path d="m5 8 6 6"></path><path d="m4 14 6-6 2-3"></path><path d="M2 5h12"></path><path d="M7 2h1"></path><path d="m22 22-5-10-5 10"></path><path d="M14 18h6"></path></svg></span><span aria-hidden="true" class="text-brand-text-1 inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-full"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-3.5 w-3.5"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg></span><span aria-hidden="true" class="text-brand-text-1 inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-full"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-save h-3.5 w-3.5"><path d="M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z"></path><path d="M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7"></path><path d="M7 3v4a1 1 0 0 0 1 1h7"></path></svg></span><span aria-hidden="true" class="text-brand-text-1 inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-full"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy h-3.5 w-3.5"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></span><span aria-hidden="true" class="text-brand-text-1 inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-full"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-volume2 h-3.5 w-3.5"><path d="M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z"></path><path d="M16 9a5 5 0 0 1 0 6"></path><path d="M19.364 18.364a9 9 0 0 0 0-12.728"></path></svg></span><span aria-hidden="true" class="text-brand-text-1 inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-full"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-panel-right h-3.5 w-3.5"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M15 3v18"></path></svg></span><span aria-hidden="true" class="text-brand-text-1 inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-full"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-pin h-3.5 w-3.5"><path d="M12 17v5"></path><path d="M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7
2801a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z"></path></svg></span></span></span></p><p>What stays with you is not the whole page, but a smaller line you happened to underline.</p><p>Most words slip away the day after you read them â unless something brings them back.</p><p>We talk about reading as if it were storage. It isn't. It is a slower, stranger thing â a sieve that keeps the shape and lets the substance pass.</p><p>What returns to you weeks later is not the page you read, but the line you bothered to mark.</p></div><div aria-hidden="true" class="from-brand-bg pointer-events-none absolute inset-x-0 bottom-0 h-20 bg-gradient-to-t to-transparent"></div></div><div class="border-brand-border-subtle bg-brand-surface absolute inset-y-0 right-0 flex flex-col border-l w-[55%] translate-x-full transition-transform duration-300 group-data-[scene=sidepanel]/stage:translate-x-0 group-data-[scene=source]/stage:translate-x-0 motion-reduce:transition-none"><div class="border-brand-border-subtle bg-brand-bg flex items-center gap-1.5 border-b px-3 py-2"><svg viewBox="314 423 1159 947" fill="currentColor" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4" role="img" aria-label="KeepReap"><defs><linearGradient id="krm-r6" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#F5A23E"></stop><stop offset="1" stop-color="#E3620B"></stop></linearGradient></defs> 2802<g transform="scale(1.0078431 1)"><path d="M407.077 423.744C454.055 419.645 499.592 453.121 510.437 498.827C514.448 515.731 513.5 535.845 513.518 553.28L513.543 609.641L513.494 810.679L584.363 810.714C616.791 810.723 644.986 813.222 675.933 802.119C702.761 792.335 726.315 775.235 743.928 752.759C779.326 708.065 780.761 668.342 780.735 614.973L780.686 550.174C780.676 524.927 779.513 506.899 790.93 483.376C802.791 458.921 823.929 440.217 849.646 431.419C858.433 428.491 867.565 426.721 876.811 426.156C893.686 425.052 920.364 425.871 937.863 425.904L1047.73 425.899L1144.94 425.884C1169.97 425.887 1194.79 425.113 1219.65 428.32C1249.77 432.191 1279.02 441.062 1306.22 454.568C1375.92 488.946 1429.18 549.49 1454.41 622.992C1479.84 697.011 1474.94 778.09 1440.75 848.501C1405.05 920.889 1346.52 970.784 1270.35 996.653C1284.39 1014.92 1302.94 1036.08 1317.9 1054.07L1403.79 1157.43L1439.17 1199.8C1445.42 1207.37 1453.95 1217.22 1458.93 1225.29C1465.84 1236.66 1470.34 1249.35 1472.12 1262.54C1475.61 1288.09 1468.63 1313.96 1452.76 1334.27C1438.02 1353.6 1416.21 1366.27 1392.12 1369.5C1332.71 1376.9 1305.13 1329.41 1271.8 1289.75L1169.1 1167.54L10
280255.8 1031.76L1019.41 988.194C1013.52 981.158 1004.39 970.915 999.336 963.625C991.72 952.759 987.047 940.1 985.782 926.898C983.428 905.684 989.753 884.418 1003.31 867.923C1018.01 849.91 1037.28 841.433 1060.03 839.239C1065.6 838.44 1083.9 838.831 1090.32 838.843L1141.36 838.968C1182.6 839.065 1214.24 837.328 1246.21 805.922C1269.65 782.879 1282.85 751.377 1282.82 718.505C1282.85 686.217 1271.38 654.229 1248.24 631.294C1233.74 616.845 1215.5 606.712 1195.58 602.023C1175.88 597.356 1132 598.993 1109.75 598.998L976.936 599.032C976.918 618.967 977.349 641.632 976.391 661.241C972.649 737.499 943.3 811.219 892.008 867.981C881.247 879.894 871.686 888.362 859.649 899.096C870.522 907.388 880.825 916.418 890.471 926.099C940.147 976.001 971.05 1041.54 977.937 1111.61C979.949 1132.03 979.422 1154.44 979.413 1175.1L979.44 1257.02C979.396 1290.63 975.206 1317.21 949.836 1342.21C930.888 1360.73 905.325 1370.92 878.831 1370.51C858.083 1370.3 837.933 1363.55 821.242 1351.24C802.312 1337.37 788.944 1317.21 783.544 1294.38C779.594 1277.81 780.66 1257.87 780.677 1240.61L780.771 1169.76C780.848 1112.93 779.63 1067.66 735.92 1023.59C712.125 999.28 680.696 983.881 646.9 979.981C630.953 978.303 609.192 978.883 592.729 978.883L513.725 978.847C513.056 1004.78 513.465 1032.01 513.474 1058.05L513.488 1192.87C513.496 1216.55 513.428 1240.29 513.44 1263.96C513.452 1290.39 508.447 1311.86 491.641 1332.87C475.342 1353.56 451.428 1366.87 425.245 1369.81C398.611 1372.99 371.816 1365.33 350.899 1348.54C330.32 1331.97 317.215 1307.87 314.502 1281.59C313.181 1268.11 313.761 1247.71 313.767 1233.58L313.8 1152.59L313.807 886.666L313.773 635.042L313.768 557.578C313.773 544.267 313.221 524.309 314.605 511.735C316.703 492.882 324.253 475.051 336.331 460.424C354.582 438.248 378.693 426.341 407.077 423.744Z" fill="url(#krm-r6)"></path></g> 2803</svg><span class="text-brand-text-1 text-[11px] font-semibold">KeepReap</span><span class="ml-auto flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-pin text-brand-text-3 h-3 w-3" aria-hidden="true"><path d="M12 17v5"></path><path d="M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings text-brand-text-3 h-3 w-3" aria-hidden="true"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-log-out text-brand-text-3 h-3 w-3" aria-hidden="true"><path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"></path><polyline points="16 17 21 12 16 7"></polyline><line x1="21" x2="9" y1="12" y2="12"></line></svg></span></div><div class="border-brand-border-subtle bg-brand-bg space-y-2 border-b p-3"><div class="rounded-md border px-2 py-3 text-[10px] transition-colors duration-300 border-brand-border-subtle bg-brand-surface text-brand-text-3 motion-reduce:transition-none">Paste, type, or drag any textâ¦</div><div class="flex flex-wrap items-center gap-1"><span aria-hidden="true" class="border-brand-border-subtle text-brand-text-1 inline-flex items-center gap-1 rounded-full border px-1.5 py-0.5 text-[9px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-languages h-2.5 w-2.5"><path d="m5 8 6 6"></path><path d="m4 14 6-6 2-3"></path><path d="M2 5h12"></path><path d="M7 2h1"></path><path d="m22 22-5-10-5 10"></path><path d="M14 18h6"></path></svg>Translate</span><span aria-hidden="true" class="border-brand-border-subtle text-brand-text-1 inline-flex items-center gap-1 rounded-full border px-1.5 py-0.5 text-[9px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-2.5 w-2.5"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg>Improve</span><span aria-hidden="true" class="border-brand-border-subtle text-brand-text-1 inline-flex items-center gap-1 rounded-full border px-1.5 py-0.5 text-[9px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-save h-2.5 w-2.5"><path d="M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z"></path><path d="M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7"></path><path d="M7 3v4a1 1 0 0 0 1 1h7"></path></svg>Save</span><span aria-hidden="true" class="border-brand-border-subtle text-brand-text-1 inline-flex items-center gap-1 rounded-full border px-1.5 py-0.5 text-[9px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy h-2.5 w-2.5"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg>Copy</span></div></div><div class="bg-brand-surface flex-1 p-3"><div class="flex items-center justify-between"><span class="text-brand-text-3 text-[10px] font-semibold uppercase tracking-wider">Recent</span><span class="text-brand-text-3 inline-flex items-center gap-1 text-[9px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-refresh-cw h-2.5 w-2.5" aria-hidden="true"><path d="M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path><path d="M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"></path><path d="M8 16H3v5"></path></svg>Open Inbox â</span></div><div class="mt-2 space-y-2"><div class="border-brand-border-subtle bg-brand-bg rounded-md border p-2.5"><div class="text-brand-text-3 flex items-center gap-1.5 text-[9px] font-semibold tracking-wider"><span>TRANSLATE</span><span class="bg-brand-border-subtle h-2.5 w-px"></span><span>
2803IN LIBRARY</span></div><p class="text-brand-text-1 mt-1.5 line-clamp-2 text-[11px] leading-snug">a quiet rewrite of what we already half-believed</p><div class="text-brand-text-3 mt-2 flex items-center gap-1 text-[9px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link2 h-2.5 w-2.5" aria-hidden="true"><path d="M9 17H7A5 5 0 0 1 7 7h2"></path><path d="M15 7h2a5 5 0 1 1 0 10h-2"></path><line x1="8" x2="16" y1="12" y2="12"></line></svg><span class="truncate">keepreap.com</span></div></div><div class="border-brand-border-subtle bg-brand-bg rounded-md border p-2.5"><div class="text-brand-text-3 flex items-center gap-1.5 text-[9px] font-semibold tracking-wider"><span>IMPROVE</span><span class="bg-brand-border-subtle h-2.5 w-px"></span><span>IN LIBRARY</span></div><p class="text-brand-text-1 mt-1.5 line-clamp-2 text-[11px] leading-snug">Memory is not a recording device.</p><div class="text-brand-text-3 mt-2 flex items-center gap-1 text-[9px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link2 h-2.5 w-2.5" aria-hidden="true"><path d="M9 17H7A5 5 0 0 1 7 7h2"></path><path d="M15 7h2a5 5 0 1 1 0 10h-2"></path><line x1="8" x2="16" y1="12" y2="12"></line></svg><span class="truncate">keepreap.com</span></div></div><div class="border-brand-border-subtle bg-brand-bg rounded-md border p-2.5"><div class="text-brand-text-3 flex items-center gap-1.5 text-[9px] font-semibold tracking-wider"><span>TRANSLATE</span><span class="bg-brand-border-subtle h-2.5 w-px"></span><span>IN LIBRARY</span></div><p class="text-brand-text-1 mt-1.5 line-clamp-2 text-[11px] leading-snug">the line worth keeping</p><div class="text-brand-text-3 mt-2 flex items-center gap-1 text-[9px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link2 h-2.5 w-2.5" aria-hidden="true"><path d="M9 17H7A5 5 0 0 1 7 7h2"></path><path d="M15 7h2a5 5 0 1 1 0 10h-2"></path><line x1="8" x2="16" y1="12" y2="12"></line></svg><span class="truncate">keepreap.com</span></div></div></div></div></div><svg aria-hidden="true" class="pointer-events-none absolute inset-0 z-20 h-full w-full opacity-0 transition-opacity duration-300 group-data-[scene=source]/stage:opacity-100 motion-reduce:transition-none" viewBox="0 0 100 100" preserveAspectRatio="none"><path d="M 28 33 C 42 2, 60 2, 73 11" class="text-brand-primary/55 fill-none stroke-current [stroke-dasharray:120] [stroke-dashoffset:120] transition-[stroke-dashoffset] delay-100 duration-500 group-data-[scene=source]/stage:[stroke-dashoffset:0] motion-reduce:transition-none group-data-[scene=source]/stage:motion-reduce:[stroke-dashoffset:0]" stroke-width="0.7" stroke-linecap="round"></path></svg><svg aria-hidden="true" class="text-brand-primary/80 pointer-events-none absolute z-30 h-8 w-8 -translate-x-1/2 -translate-y-1/2 left-[73%] top-[11%] rotate-[25deg] opacity-0 transition-opacity delay-500 duration-200 group-data-[scene=source]/stage:opacity-100 motion-reduce:transition-none" viewBox="0 0 16 16"><path d="M 3 4 Q 8 6, 14 8 Q 8 10, 3 12" class="fill-none stroke-current" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"></path></svg></div></div></div><div class=""><h3 class="text-brand-text-1 font-serif text-2xl font-medium leading-tight md:text-3xl">A bar, where the sentence is.</h3><p class="text-brand-text-2 mt-4 text-base leading-relaxed md:text-lg md:leading-relaxed">A floating bar surfaces right beside your selection â Translate, Improve, Save, Copy, Speak. One tap acts on the sentence. No menus to navigate, no tab switches, no breaking the rhythm of the paragraph you were halfway through.</p><ul class="text-brand-text-2 mt-4 list-none space-y-2 text-sm leading-relaxed md:text-base"><li><strong class="text-brand-text-1 font-semibold">Translate</strong> the selection into your language, inline â no popup, no tab switch.</li><li><strong class="text-brand-text-1 font-semibold">Improve</strong> the wording with an AI rewrite you can accept, tweak, or discard.</li><li><strong class="text-brand-text-1 font-semibold">Save</strong> the sentence to your library with the source URL attached automatically.</li><li><strong class="text-brand-text-1 font-semibold">Copy</strong> the text to your clipboard, formatted clean and ready to paste anywhere.</li><li><strong class="text-brand-text-1 font-semibold">Speak</strong> the line out loud with built-in TTS, in your chosen voice and speed.</li><li><strong class="text-brand-text-1 font-semibold">Side Panel</strong> opens a workspace right beside the article â composer and Sparks.</li><li><strong class="text-brand-text-1 font-semibold">Pin</strong> the capture to your pinboard for the lines you want to revisit fast.</li></ul></div></div><div class="flex flex-col py-12 md:py-20 min-h-[60vh] justify-center md:min-h-[70vh]"><div class="mb-6 md:hidden"><div aria-hidden="true" data-scene="sidepanel" class="border-brand-border-subtle bg-brand-bg ring-brand-border-subtle group/stage relative w-full overflow-hidden rounded-xl border shadow-sm ring-1 max-h-[360px]"><div class="border-brand-border-subtle bg-brand-surface flex items-center gap-2 border-b px-3 py-2"><span class="bg-brand-border-subtle h-2.5 w-2.5 rounded-full" aria-hidden="true"></span><span class="bg-brand-border-subtle h-2.5 w-2.5 rounded-full" aria-hidden="true"></span><span class="bg-brand-border-subtle h-2.5 w-2.5 rounded-full" aria-hidden="true"></span><div class="border-brand-border-subtle bg-brand-bg text-brand-text-3 ml-3 flex-1 truncate rounded-full border px-3 py-1 text-[10px]">https://keepreap.com</div></div><div class="relative flex min-h-[280px]"><div class="relative flex-1 px-6 py-8 transition-[margin-right] duration-300 group-data-[scene=sidepanel]/stage:mr-[280px] group-data-[scene=source]/stage:mr-[280px] group-data-[scene=sidepanel]/stage:!mr-[55%] group-data-[scene=source]/stage:!mr-[55%] motion-reduce:transition-none"><div class="text-brand-text-1 font-serif text-lg font-medium leading-snug">
2803How reading rewires the way we remember</div><div class="text-brand-text-2 mt-4 space-y-3 text-sm leading-relaxed"><p>Memory is not a recording device. It is a quiet rewrite of what we already half-believed.</p><p class="relative">The page in front of you is <span class="bg-brand-warning-surface text-brand-text-1 rounded px-1 py-0.5 transition-opacity duration-200 group-data-[scene=toolbar]/stage:opacity-80 group-data-[scene=sidepanel]/stage:opacity-60 group-data-[scene=source]/stage:opacity-60 motion-reduce:transition-none">a quiet rewrite of what we already half-believed</span> â and that is the line worth keeping.<span class="absolute left-1/2 top-full z-10 mt-2 -translate-x-1/2 translate-y-1 opacity-0 transition-[opacity,transform] duration-200 group-data-[scene=toolbar]/stage:translate-y-0 group-data-[scene=toolbar]/stage:opacity-100 motion-reduce:transition-none"><span class="border-brand-border-subtle bg-brand-bg ring-brand-border-subtle inline-flex items-center gap-0.5 rounded-full p-1 shadow-md ring-1"><span aria-hidden="true" class="text-brand-text-3 inline-flex h-7 w-4 items-center justify-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-grip-vertical h-3 w-3"><circle cx="9" cy="12" r="1"></circle><circle cx="9" cy="5" r="1"></circle><circle cx="9" cy="19" r="1"></circle><circle cx="15" cy="12" r="1"></circle><circle cx="15" cy="5" r="1"></circle><circle cx="15" cy="19" r="1"></circle></svg></span><span aria-hidden="true" class="text-brand-text-1 inline-flex h-7 w-7 items-center justify-center rounded-full"><svg viewBox="314 423 1159 947" fill="currentColor" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4" role="img" aria-label="KeepReap"><defs><linearGradient id="krm-r7" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#F5A23E"></stop><stop offset="1" stop-color="#E3620B"></stop></linearGradient></defs> 2804<g transform="scale(1.0078431 1)"><path d="M407.077 423.744C454.055 419.645 499.592 453.121 510.437 498.827C514.448 515.731 513.5 535.845 513.518 553.28L513.543 609.641L513.494 810.679L584.363 810.714C616.791 810.723 644.986 813.222 675.933 802.119C702.761 792.335 726.315 775.235 743.928 752.759C779.326 708.065 780.761 668.342 780.735 614.973L780.686 550.174C780.676 524.927 779.513 506.899 790.93 483.376C802.791 458.921 823.929 440.217 849.646 431.419C858.433 428.491 867.565 426.721 876.811 426.156C893.686 425.052 920.364 425.871 937.863 425.904L1047.73 425.899L1144.94 425.884C1169.97 425.887 1194.79 425.113 1219.65 428.32C1249.77 432.191 1279.02 441.062 1306.22 454.568C1375.92 488.946 1429.18 549.49 1454.41 622.992C1479.84 697.011 1474.94 778.09 1440.75 848.501C1405.05 920.889 1346.52 970.784 1270.35 996.653C1284.39 1014.92 1302.94 1036.08 1317.9 1054.07L1403.79 1157.43L1439.17 1199.8C1445.42 1207.37 1453.95 1217.22 1458.93 1225.29C1465.84 1236.66 1470.34 1249.35 1472.12 1262.54C1475.61 1288.09 1468.63 1313.96 1452.76 1334.27C1438.02 1353.6 1416.21 1366.27 1392.12 1369.5C1332.71 1376.9 1305.13 1329.41 1271.8 1289.75L1169.1 1167.54L10
280455.8 1031.76L1019.41 988.194C1013.52 981.158 1004.39 970.915 999.336 963.625C991.72 952.759 987.047 940.1 985.782 926.898C983.428 905.684 989.753 884.418 1003.31 867.923C1018.01 849.91 1037.28 841.433 1060.03 839.239C1065.6 838.44 1083.9 838.831 1090.32 838.843L1141.36 838.968C1182.6 839.065 1214.24 837.328 1246.21 805.922C1269.65 782.879 1282.85 751.377 1282.82 718.505C1282.85 686.217 1271.38 654.229 1248.24 631.294C1233.74 616.845 1215.5 606.712 1195.58 602.023C1175.88 597.356 1132 598.993 1109.75 598.998L976.936 599.032C976.918 618.967 977.349 641.632 976.391 661.241C972.649 737.499 943.3 811.219 892.008 867.981C881.247 879.894 871.686 888.362 859.649 899.096C870.522 907.388 880.825 916.418 890.471 926.099C940.147 976.001 971.05 1041.54 977.937 1111.61C979.949 1132.03 979.422 1154.44 979.413 1175.1L979.44 1257.02C979.396 1290.63 975.206 1317.21 949.836 1342.21C930.888 1360.73 905.325 1370.92 878.831 1370.51C858.083 1370.3 837.933 1363.55 821.242 1351.24C802.312 1337.37 788.944 1317.21 783.544 1294.38C779.594 1277.81 780.66 1257.87 780.677 1240.61L780.771 1169.76C780.848 1112.93 779.63 1067.66 735.92 1023.59C712.125 999.28 680.696 983.881 646.9 979.981C630.953 978.303 609.192 978.883 592.729 978.883L513.725 978.847C513.056 1004.78 513.465 1032.01 513.474 1058.05L513.488 1192.87C513.496 1216.55 513.428 1240.29 513.44 1263.96C513.452 1290.39 508.447 1311.86 491.641 1332.87C475.342 1353.56 451.428 1366.87 425.245 1369.81C398.611 1372.99 371.816 1365.33 350.899 1348.54C330.32 1331.97 317.215 1307.87 314.502 1281.59C313.181 1268.11 313.761 1247.71 313.767 1233.58L313.8 1152.59L313.807 886.666L313.773 635.042L313.768 557.578C313.773 544.267 313.221 524.309 314.605 511.735C316.703 492.882 324.253 475.051 336.331 460.424C354.582 438.248 378.693 426.341 407.077 423.744Z" fill="url(#krm-r7)"></path></g> 2805</svg></span><span aria-hidden="true" class="bg-brand-border mx-1 h-4 w-px"></span><span aria-hidden="true" class="text-brand-text-1 inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-full"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-languages h-3.5 w-3.5"><path d="m5 8 6 6"></path><path d="m4 14 6-6 2-3"></path><path d="M2 5h12"></path><path d="M7 2h1"></path><path d="m22 22-5-10-5 10"></path><path d="M14 18h6"></path></svg></span><span aria-hidden="true" class="text-brand-text-1 inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-full"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-3.5 w-3.5"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg></span><span aria-hidden="true" class="text-brand-text-1 inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-full"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-save h-3.5 w-3.5"><path d="M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z"></path><path d="M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7"></path><path d="M7 3v4a1 1 0 0 0 1 1h7"></path></svg></span><span aria-hidden="true" class="text-brand-text-1 inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-full"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy h-3.5 w-3.5"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></span><span aria-hidden="true" class="text-brand-text-1 inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-full"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-volume2 h-3.5 w-3.5"><path d="M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z"></path><path d="M16 9a5 5 0 0 1 0 6"></path><path d="M19.364 18.364a9 9 0 0 0 0-12.728"></path></svg></span><span aria-hidden="true" class="text-brand-text-1 inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-full"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-panel-right h-3.5 w-3.5"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M15 3v18"></path></svg></span><span aria-hidden="true" class="text-brand-text-1 inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-full"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-pin h-3.5 w-3.5"><path d="M12 17v5"></path><path d="M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7
2805a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z"></path></svg></span></span></span></p><p>What stays with you is not the whole page, but a smaller line you happened to underline.</p><p>Most words slip away the day after you read them â unless something brings them back.</p><p>We talk about reading as if it were storage. It isn't. It is a slower, stranger thing â a sieve that keeps the shape and lets the substance pass.</p><p>What returns to you weeks later is not the page you read, but the line you bothered to mark.</p></div><div aria-hidden="true" class="from-brand-bg pointer-events-none absolute inset-x-0 bottom-0 h-20 bg-gradient-to-t to-transparent"></div></div><div class="border-brand-border-subtle bg-brand-surface absolute inset-y-0 right-0 flex flex-col border-l w-[55%] translate-x-full transition-transform duration-300 group-data-[scene=sidepanel]/stage:translate-x-0 group-data-[scene=source]/stage:translate-x-0 motion-reduce:transition-none"><div class="border-brand-border-subtle bg-brand-bg flex items-center gap-1.5 border-b px-3 py-2"><svg viewBox="314 423 1159 947" fill="currentColor" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4" role="img" aria-label="KeepReap"><defs><linearGradient id="krm-r8" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#F5A23E"></stop><stop offset="1" stop-color="#E3620B"></stop></linearGradient></defs> 2806<g transform="scale(1.0078431 1)"><path d="M407.077 423.744C454.055 419.645 499.592 453.121 510.437 498.827C514.448 515.731 513.5 535.845 513.518 553.28L513.543 609.641L513.494 810.679L584.363 810.714C616.791 810.723 644.986 813.222 675.933 802.119C702.761 792.335 726.315 775.235 743.928 752.759C779.326 708.065 780.761 668.342 780.735 614.973L780.686 550.174C780.676 524.927 779.513 506.899 790.93 483.376C802.791 458.921 823.929 440.217 849.646 431.419C858.433 428.491 867.565 426.721 876.811 426.156C893.686 425.052 920.364 425.871 937.863 425.904L1047.73 425.899L1144.94 425.884C1169.97 425.887 1194.79 425.113 1219.65 428.32C1249.77 432.191 1279.02 441.062 1306.22 454.568C1375.92 488.946 1429.18 549.49 1454.41 622.992C1479.84 697.011 1474.94 778.09 1440.75 848.501C1405.05 920.889 1346.52 970.784 1270.35 996.653C1284.39 1014.92 1302.94 1036.08 1317.9 1054.07L1403.79 1157.43L1439.17 1199.8C1445.42 1207.37 1453.95 1217.22 1458.93 1225.29C1465.84 1236.66 1470.34 1249.35 1472.12 1262.54C1475.61 1288.09 1468.63 1313.96 1452.76 1334.27C1438.02 1353.6 1416.21 1366.27 1392.12 1369.5C1332.71 1376.9 1305.13 1329.41 1271.8 1289.75L1169.1 1167.54L10
280655.8 1031.76L1019.41 988.194C1013.52 981.158 1004.39 970.915 999.336 963.625C991.72 952.759 987.047 940.1 985.782 926.898C983.428 905.684 989.753 884.418 1003.31 867.923C1018.01 849.91 1037.28 841.433 1060.03 839.239C1065.6 838.44 1083.9 838.831 1090.32 838.843L1141.36 838.968C1182.6 839.065 1214.24 837.328 1246.21 805.922C1269.65 782.879 1282.85 751.377 1282.82 718.505C1282.85 686.217 1271.38 654.229 1248.24 631.294C1233.74 616.845 1215.5 606.712 1195.58 602.023C1175.88 597.356 1132 598.993 1109.75 598.998L976.936 599.032C976.918 618.967 977.349 641.632 976.391 661.241C972.649 737.499 943.3 811.219 892.008 867.981C881.247 879.894 871.686 888.362 859.649 899.096C870.522 907.388 880.825 916.418 890.471 926.099C940.147 976.001 971.05 1041.54 977.937 1111.61C979.949 1132.03 979.422 1154.44 979.413 1175.1L979.44 1257.02C979.396 1290.63 975.206 1317.21 949.836 1342.21C930.888 1360.73 905.325 1370.92 878.831 1370.51C858.083 1370.3 837.933 1363.55 821.242 1351.24C802.312 1337.37 788.944 1317.21 783.544 1294.38C779.594 1277.81 780.66 1257.87 780.677 1240.61L780.771 1169.76C780.848 1112.93 779.63 1067.66 735.92 1023.59C712.125 999.28 680.696 983.881 646.9 979.981C630.953 978.303 609.192 978.883 592.729 978.883L513.725 978.847C513.056 1004.78 513.465 1032.01 513.474 1058.05L513.488 1192.87C513.496 1216.55 513.428 1240.29 513.44 1263.96C513.452 1290.39 508.447 1311.86 491.641 1332.87C475.342 1353.56 451.428 1366.87 425.245 1369.81C398.611 1372.99 371.816 1365.33 350.899 1348.54C330.32 1331.97 317.215 1307.87 314.502 1281.59C313.181 1268.11 313.761 1247.71 313.767 1233.58L313.8 1152.59L313.807 886.666L313.773 635.042L313.768 557.578C313.773 544.267 313.221 524.309 314.605 511.735C316.703 492.882 324.253 475.051 336.331 460.424C354.582 438.248 378.693 426.341 407.077 423.744Z" fill="url(#krm-r8)"></path></g> 2807</svg><span class="text-brand-text-1 text-[11px] font-semibold">KeepReap</span><span class="ml-auto flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-pin text-brand-text-3 h-3 w-3" aria-hidden="true"><path d="M12 17v5"></path><path d="M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings text-brand-text-3 h-3 w-3" aria-hidden="true"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-log-out text-brand-text-3 h-3 w-3" aria-hidden="true"><path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"></path><polyline points="16 17 21 12 16 7"></polyline><line x1="21" x2="9" y1="12" y2="12"></line></svg></span></div><div class="border-brand-border-subtle bg-brand-bg space-y-2 border-b p-3"><div class="rounded-md border px-2 py-3 text-[10px] transition-colors duration-300 border-brand-border-subtle bg-brand-surface text-brand-text-3 motion-reduce:transition-none">Paste, type, or drag any textâ¦</div><div class="flex flex-wrap items-center gap-1"><span aria-hidden="true" class="border-brand-border-subtle text-brand-text-1 inline-flex items-center gap-1 rounded-full border px-1.5 py-0.5 text-[9px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-languages h-2.5 w-2.5"><path d="m5 8 6 6"></path><path d="m4 14 6-6 2-3"></path><path d="M2 5h12"></path><path d="M7 2h1"></path><path d="m22 22-5-10-5 10"></path><path d="M14 18h6"></path></svg>Translate</span><span aria-hidden="true" class="border-brand-border-subtle text-brand-text-1 inline-flex items-center gap-1 rounded-full border px-1.5 py-0.5 text-[9px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-2.5 w-2.5"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg>Improve</span><span aria-hidden="true" class="border-brand-border-subtle text-brand-text-1 inline-flex items-center gap-1 rounded-full border px-1.5 py-0.5 text-[9px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-save h-2.5 w-2.5"><path d="M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z"></path><path d="M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7"></path><path d="M7 3v4a1 1 0 0 0 1 1h7"></path></svg>Save</span><span aria-hidden="true" class="border-brand-border-subtle text-brand-text-1 inline-flex items-center gap-1 rounded-full border px-1.5 py-0.5 text-[9px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy h-2.5 w-2.5"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg>Copy</span></div></div><div class="bg-brand-surface flex-1 p-3"><div class="flex items-center justify-between"><span class="text-brand-text-3 text-[10px] font-semibold uppercase tracking-wider">Recent</span><span class="text-brand-text-3 inline-flex items-center gap-1 text-[9px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-refresh-cw h-2.5 w-2.5" aria-hidden="true"><path d="M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path><path d="M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"></path><path d="M8 16H3v5"></path></svg>Open Inbox â</span></div><div class="mt-2 space-y-2"><div class="border-brand-border-subtle bg-brand-bg rounded-md border p-2.5"><div class="text-brand-text-3 flex items-center gap-1.5 text-[9px] font-semibold tracking-wider"><span>TRANSLATE</span><span class="bg-brand-border-subtle h-2.5 w-px"></span><span>
2807IN LIBRARY</span></div><p class="text-brand-text-1 mt-1.5 line-clamp-2 text-[11px] leading-snug">a quiet rewrite of what we already half-believed</p><div class="text-brand-text-3 mt-2 flex items-center gap-1 text-[9px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link2 h-2.5 w-2.5" aria-hidden="true"><path d="M9 17H7A5 5 0 0 1 7 7h2"></path><path d="M15 7h2a5 5 0 1 1 0 10h-2"></path><line x1="8" x2="16" y1="12" y2="12"></line></svg><span class="truncate">keepreap.com</span></div></div><div class="border-brand-border-subtle bg-brand-bg rounded-md border p-2.5"><div class="text-brand-text-3 flex items-center gap-1.5 text-[9px] font-semibold tracking-wider"><span>IMPROVE</span><span class="bg-brand-border-subtle h-2.5 w-px"></span><span>IN LIBRARY</span></div><p class="text-brand-text-1 mt-1.5 line-clamp-2 text-[11px] leading-snug">Memory is not a recording device.</p><div class="text-brand-text-3 mt-2 flex items-center gap-1 text-[9px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link2 h-2.5 w-2.5" aria-hidden="true"><path d="M9 17H7A5 5 0 0 1 7 7h2"></path><path d="M15 7h2a5 5 0 1 1 0 10h-2"></path><line x1="8" x2="16" y1="12" y2="12"></line></svg><span class="truncate">keepreap.com</span></div></div><div class="border-brand-border-subtle bg-brand-bg rounded-md border p-2.5"><div class="text-brand-text-3 flex items-center gap-1.5 text-[9px] font-semibold tracking-wider"><span>TRANSLATE</span><span class="bg-brand-border-subtle h-2.5 w-px"></span><span>IN LIBRARY</span></div><p class="text-brand-text-1 mt-1.5 line-clamp-2 text-[11px] leading-snug">the line worth keeping</p><div class="text-brand-text-3 mt-2 flex items-center gap-1 text-[9px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link2 h-2.5 w-2.5" aria-hidden="true"><path d="M9 17H7A5 5 0 0 1 7 7h2"></path><path d="M15 7h2a5 5 0 1 1 0 10h-2"></path><line x1="8" x2="16" y1="12" y2="12"></line></svg><span class="truncate">keepreap.com</span></div></div></div></div></div><svg aria-hidden="true" class="pointer-events-none absolute inset-0 z-20 h-full w-full opacity-0 transition-opacity duration-300 group-data-[scene=source]/stage:opacity-100 motion-reduce:transition-none" viewBox="0 0 100 100" preserveAspectRatio="none"><path d="M 28 33 C 42 2, 60 2, 73 11" class="text-brand-primary/55 fill-none stroke-current [stroke-dasharray:120] [stroke-dashoffset:120] transition-[stroke-dashoffset] delay-100 duration-500 group-data-[scene=source]/stage:[stroke-dashoffset:0] motion-reduce:transition-none group-data-[scene=source]/stage:motion-reduce:[stroke-dashoffset:0]" stroke-width="0.7" stroke-linecap="round"></path></svg><svg aria-hidden="true" class="text-brand-primary/80 pointer-events-none absolute z-30 h-8 w-8 -translate-x-1/2 -translate-y-1/2 left-[73%] top-[11%] rotate-[25deg] opacity-0 transition-opacity delay-500 duration-200 group-data-[scene=source]/stage:opacity-100 motion-reduce:transition-none" viewBox="0 0 16 16"><path d="M 3 4 Q 8 6, 14 8 Q 8 10, 3 12" class="fill-none stroke-current" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"></path></svg></div></div></div><div class=""><h3 class="text-brand-text-1 font-serif text-2xl font-medium leading-tight md:text-3xl">Open the panel without leaving the page.</h3><p class="text-brand-text-2 mt-4 text-base leading-relaxed md:text-lg md:leading-relaxed">Need more room than a popup gives you? Open the side panel beside the article. Your composer and your Sparks notepad are right there. The article still scrolls underneath, your place untouched.</p><ul class="text-brand-text-2 mt-4 list-none space-y-2 text-sm leading-relaxed md:text-base"><li><strong class="text-brand-text-1 font-semibold">Composer</strong> ready for any text â paste, type, or drag it in.</li><li><strong class="text-brand-text-1 font-semibold">Sparks</strong> for a quick note or image you want to sort out later.</li></ul></div></div><div class="flex flex-col py-12 md:py-20 min-h-[80vh] justify-center md:min-h-[170vh] md:justify-start"><div class="mb-6 md:hidden"><div aria-hidden="true" data-scene="source" class="border-brand-border-subtle bg-brand-bg ring-brand-border-subtle group/stage relative w-full overflow-hidden rounded-xl border shadow-sm ring-1 max-h-[360px]"><div class="border-brand-border-subtle bg-brand-surface flex items-center gap-2 border-b px-3 py-2"><span class="bg-brand-border-subtle h-2.5 w-2.5 rounded-full" aria-hidden="true"></span><span class="bg-brand-border-subtle h-2.5 w-2.5 rounded-full" aria-hidden="true"></span><span class="bg-brand-border-subtle h-2.5 w-2.5 rounded-full" aria-hidden="true"></span><div class="border-brand-border-subtle bg-brand-bg text-brand-text-3 ml-3 flex-1 truncate rounded-full border px-3 py-1 text-[10px]">https://keepreap.com</div></div><div class="relative flex min-h-[280px]"><div class="relative flex-1 px-6 py-8 transition-[margin-right] duration-300 group-data-[scene=sidepanel]/stage:mr-[280px] group-data-[scene=source]/stage:mr-[280px] group-data-[scene=sidepanel]/stage:!mr-[55%] group-data-[scene=source]/stage:!mr-[55%] motion-reduce:transition-none"><div class="text-brand-text-1 font-serif text-lg font-medium leading-snug">
2807How reading rewires the way we remember</div><div class="text-brand-text-2 mt-4 space-y-3 text-sm leading-relaxed"><p>Memory is not a recording device. It is a quiet rewrite of what we already half-believed.</p><p class="relative">The page in front of you is <span class="bg-brand-warning-surface text-brand-text-1 rounded px-1 py-0.5 transition-opacity duration-200 group-data-[scene=toolbar]/stage:opacity-80 group-data-[scene=sidepanel]/stage:opacity-60 group-data-[scene=source]/stage:opacity-60 motion-reduce:transition-none">a quiet rewrite of what we already half-believed</span> â and that is the line worth keeping.<span class="absolute left-1/2 top-full z-10 mt-2 -translate-x-1/2 translate-y-1 opacity-0 transition-[opacity,transform] duration-200 group-data-[scene=toolbar]/stage:translate-y-0 group-data-[scene=toolbar]/stage:opacity-100 motion-reduce:transition-none"><span class="border-brand-border-subtle bg-brand-bg ring-brand-border-subtle inline-flex items-center gap-0.5 rounded-full p-1 shadow-md ring-1"><span aria-hidden="true" class="text-brand-text-3 inline-flex h-7 w-4 items-center justify-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-grip-vertical h-3 w-3"><circle cx="9" cy="12" r="1"></circle><circle cx="9" cy="5" r="1"></circle><circle cx="9" cy="19" r="1"></circle><circle cx="15" cy="12" r="1"></circle><circle cx="15" cy="5" r="1"></circle><circle cx="15" cy="19" r="1"></circle></svg></span><span aria-hidden="true" class="text-brand-text-1 inline-flex h-7 w-7 items-center justify-center rounded-full"><svg viewBox="314 423 1159 947" fill="currentColor" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4" role="img" aria-label="KeepReap"><defs><linearGradient id="krm-r9" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#F5A23E"></stop><stop offset="1" stop-color="#E3620B"></stop></linearGradient></defs> 2808<g transform="scale(1.0078431 1)"><path d="M407.077 423.744C454.055 419.645 499.592 453.121 510.437 498.827C514.448 515.731 513.5 535.845 513.518 553.28L513.543 609.641L513.494 810.679L584.363 810.714C616.791 810.723 644.986 813.222 675.933 802.119C702.761 792.335 726.315 775.235 743.928 752.759C779.326 708.065 780.761 668.342 780.735 614.973L780.686 550.174C780.676 524.927 779.513 506.899 790.93 483.376C802.791 458.921 823.929 440.217 849.646 431.419C858.433 428.491 867.565 426.721 876.811 426.156C893.686 425.052 920.364 425.871 937.863 425.904L1047.73 425.899L1144.94 425.884C1169.97 425.887 1194.79 425.113 1219.65 428.32C1249.77 432.191 1279.02 441.062 1306.22 454.568C1375.92 488.946 1429.18 549.49 1454.41 622.992C1479.84 697.011 1474.94 778.09 1440.75 848.501C1405.05 920.889 1346.52 970.784 1270.35 996.653C1284.39 1014.92 1302.94 1036.08 1317.9 1054.07L1403.79 1157.43L1439.17 1199.8C1445.42 1207.37 1453.95 1217.22 1458.93 1225.29C1465.84 1236.66 1470.34 1249.35 1472.12 1262.54C1475.61 1288.09 1468.63 1313.96 1452.76 1334.27C1438.02 1353.6 1416.21 1366.27 1392.12 1369.5C1332.71 1376.9 1305.13 1329.41 1271.8 1289.75L1169.1 1167.54L10
280855.8 1031.76L1019.41 988.194C1013.52 981.158 1004.39 970.915 999.336 963.625C991.72 952.759 987.047 940.1 985.782 926.898C983.428 905.684 989.753 884.418 1003.31 867.923C1018.01 849.91 1037.28 841.433 1060.03 839.239C1065.6 838.44 1083.9 838.831 1090.32 838.843L1141.36 838.968C1182.6 839.065 1214.24 837.328 1246.21 805.922C1269.65 782.879 1282.85 751.377 1282.82 718.505C1282.85 686.217 1271.38 654.229 1248.24 631.294C1233.74 616.845 1215.5 606.712 1195.58 602.023C1175.88 597.356 1132 598.993 1109.75 598.998L976.936 599.032C976.918 618.967 977.349 641.632 976.391 661.241C972.649 737.499 943.3 811.219 892.008 867.981C881.247 879.894 871.686 888.362 859.649 899.096C870.522 907.388 880.825 916.418 890.471 926.099C940.147 976.001 971.05 1041.54 977.937 1111.61C979.949 1132.03 979.422 1154.44 979.413 1175.1L979.44 1257.02C979.396 1290.63 975.206 1317.21 949.836 1342.21C930.888 1360.73 905.325 1370.92 878.831 1370.51C858.083 1370.3 837.933 1363.55 821.242 1351.24C802.312 1337.37 788.944 1317.21 783.544 1294.38C779.594 1277.81 780.66 1257.87 780.677 1240.61L780.771 1169.76C780.848 1112.93 779.63 1067.66 735.92 1023.59C712.125 999.28 680.696 983.881 646.9 979.981C630.953 978.303 609.192 978.883 592.729 978.883L513.725 978.847C513.056 1004.78 513.465 1032.01 513.474 1058.05L513.488 1192.87C513.496 1216.55 513.428 1240.29 513.44 1263.96C513.452 1290.39 508.447 1311.86 491.641 1332.87C475.342 1353.56 451.428 1366.87 425.245 1369.81C398.611 1372.99 371.816 1365.33 350.899 1348.54C330.32 1331.97 317.215 1307.87 314.502 1281.59C313.181 1268.11 313.761 1247.71 313.767 1233.58L313.8 1152.59L313.807 886.666L313.773 635.042L313.768 557.578C313.773 544.267 313.221 524.309 314.605 511.735C316.703 492.882 324.253 475.051 336.331 460.424C354.582 438.248 378.693 426.341 407.077 423.744Z" fill="url(#krm-r9)"></path></g> 2809</svg></span><span aria-hidden="true" class="bg-brand-border mx-1 h-4 w-px"></span><span aria-hidden="true" class="text-brand-text-1 inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-full"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-languages h-3.5 w-3.5"><path d="m5 8 6 6"></path><path d="m4 14 6-6 2-3"></path><path d="M2 5h12"></path><path d="M7 2h1"></path><path d="m22 22-5-10-5 10"></path><path d="M14 18h6"></path></svg></span><span aria-hidden="true" class="text-brand-text-1 inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-full"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-3.5 w-3.5"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg></span><span aria-hidden="true" class="text-brand-text-1 inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-full"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-save h-3.5 w-3.5"><path d="M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z"></path><path d="M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7"></path><path d="M7 3v4a1 1 0 0 0 1 1h7"></path></svg></span><span aria-hidden="true" class="text-brand-text-1 inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-full"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy h-3.5 w-3.5"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></span><span aria-hidden="true" class="text-brand-text-1 inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-full"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-volume2 h-3.5 w-3.5"><path d="M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z"></path><path d="M16 9a5 5 0 0 1 0 6"></path><path d="M19.364 18.364a9 9 0 0 0 0-12.728"></path></svg></span><span aria-hidden="true" class="text-brand-text-1 inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-full"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-panel-right h-3.5 w-3.5"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M15 3v18"></path></svg></span><span aria-hidden="true" class="text-brand-text-1 inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-full"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-pin h-3.5 w-3.5"><path d="M12 17v5"></path><path d="M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7
2809a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z"></path></svg></span></span></span></p><p>What stays with you is not the whole page, but a smaller line you happened to underline.</p><p>Most words slip away the day after you read them â unless something brings them back.</p><p>We talk about reading as if it were storage. It isn't. It is a slower, stranger thing â a sieve that keeps the shape and lets the substance pass.</p><p>What returns to you weeks later is not the page you read, but the line you bothered to mark.</p></div><div aria-hidden="true" class="from-brand-bg pointer-events-none absolute inset-x-0 bottom-0 h-20 bg-gradient-to-t to-transparent"></div></div><div class="border-brand-border-subtle bg-brand-surface absolute inset-y-0 right-0 flex flex-col border-l w-[55%] translate-x-full transition-transform duration-300 group-data-[scene=sidepanel]/stage:translate-x-0 group-data-[scene=source]/stage:translate-x-0 motion-reduce:transition-none"><div class="border-brand-border-subtle bg-brand-bg flex items-center gap-1.5 border-b px-3 py-2"><svg viewBox="314 423 1159 947" fill="currentColor" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4" role="img" aria-label="KeepReap"><defs><linearGradient id="krm-ra" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#F5A23E"></stop><stop offset="1" stop-color="#E3620B"></stop></linearGradient></defs> 2810<g transform="scale(1.0078431 1)"><path d="M407.077 423.744C454.055 419.645 499.592 453.121 510.437 498.827C514.448 515.731 513.5 535.845 513.518 553.28L513.543 609.641L513.494 810.679L584.363 810.714C616.791 810.723 644.986 813.222 675.933 802.119C702.761 792.335 726.315 775.235 743.928 752.759C779.326 708.065 780.761 668.342 780.735 614.973L780.686 550.174C780.676 524.927 779.513 506.899 790.93 483.376C802.791 458.921 823.929 440.217 849.646 431.419C858.433 428.491 867.565 426.721 876.811 426.156C893.686 425.052 920.364 425.871 937.863 425.904L1047.73 425.899L1144.94 425.884C1169.97 425.887 1194.79 425.113 1219.65 428.32C1249.77 432.191 1279.02 441.062 1306.22 454.568C1375.92 488.946 1429.18 549.49 1454.41 622.992C1479.84 697.011 1474.94 778.09 1440.75 848.501C1405.05 920.889 1346.52 970.784 1270.35 996.653C1284.39 1014.92 1302.94 1036.08 1317.9 1054.07L1403.79 1157.43L1439.17 1199.8C1445.42 1207.37 1453.95 1217.22 1458.93 1225.29C1465.84 1236.66 1470.34 1249.35 1472.12 1262.54C1475.61 1288.09 1468.63 1313.96 1452.76 1334.27C1438.02 1353.6 1416.21 1366.27 1392.12 1369.5C1332.71 1376.9 1305.13 1329.41 1271.8 1289.75L1169.1 1167.54L10
281055.8 1031.76L1019.41 988.194C1013.52 981.158 1004.39 970.915 999.336 963.625C991.72 952.759 987.047 940.1 985.782 926.898C983.428 905.684 989.753 884.418 1003.31 867.923C1018.01 849.91 1037.28 841.433 1060.03 839.239C1065.6 838.44 1083.9 838.831 1090.32 838.843L1141.36 838.968C1182.6 839.065 1214.24 837.328 1246.21 805.922C1269.65 782.879 1282.85 751.377 1282.82 718.505C1282.85 686.217 1271.38 654.229 1248.24 631.294C1233.74 616.845 1215.5 606.712 1195.58 602.023C1175.88 597.356 1132 598.993 1109.75 598.998L976.936 599.032C976.918 618.967 977.349 641.632 976.391 661.241C972.649 737.499 943.3 811.219 892.008 867.981C881.247 879.894 871.686 888.362 859.649 899.096C870.522 907.388 880.825 916.418 890.471 926.099C940.147 976.001 971.05 1041.54 977.937 1111.61C979.949 1132.03 979.422 1154.44 979.413 1175.1L979.44 1257.02C979.396 1290.63 975.206 1317.21 949.836 1342.21C930.888 1360.73 905.325 1370.92 878.831 1370.51C858.083 1370.3 837.933 1363.55 821.242 1351.24C802.312 1337.37 788.944 1317.21 783.544 1294.38C779.594 1277.81 780.66 1257.87 780.677 1240.61L780.771 1169.76C780.848 1112.93 779.63 1067.66 735.92 1023.59C712.125 999.28 680.696 983.881 646.9 979.981C630.953 978.303 609.192 978.883 592.729 978.883L513.725 978.847C513.056 1004.78 513.465 1032.01 513.474 1058.05L513.488 1192.87C513.496 1216.55 513.428 1240.29 513.44 1263.96C513.452 1290.39 508.447 1311.86 491.641 1332.87C475.342 1353.56 451.428 1366.87 425.245 1369.81C398.611 1372.99 371.816 1365.33 350.899 1348.54C330.32 1331.97 317.215 1307.87 314.502 1281.59C313.181 1268.11 313.761 1247.71 313.767 1233.58L313.8 1152.59L313.807 886.666L313.773 635.042L313.768 557.578C313.773 544.267 313.221 524.309 314.605 511.735C316.703 492.882 324.253 475.051 336.331 460.424C354.582 438.248 378.693 426.341 407.077 423.744Z" fill="url(#krm-ra)"></path></g> 2811</svg><span class="text-brand-text-1 text-[11px] font-semibold">KeepReap</span><span class="ml-auto flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-pin text-brand-text-3 h-3 w-3" aria-hidden="true"><path d="M12 17v5"></path><path d="M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings text-brand-text-3 h-3 w-3" aria-hidden="true"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-log-out text-brand-text-3 h-3 w-3" aria-hidden="true"><path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"></path><polyline points="16 17 21 12 16 7"></polyline><line x1="21" x2="9" y1="12" y2="12"></line></svg></span></div><div class="border-brand-border-subtle bg-brand-bg space-y-2 border-b p-3"><div class="rounded-md border px-2 py-3 text-[10px] transition-colors duration-300 border-brand-primary/40 bg-brand-bg text-brand-text-1 motion-reduce:transition-none">a quiet rewrite of what we already half-believed</div><div class="flex flex-wrap items-center gap-1"><span aria-hidden="true" class="border-brand-border-subtle text-brand-text-1 inline-flex items-center gap-1 rounded-full border px-1.5 py-0.5 text-[9px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-languages h-2.5 w-2.5"><path d="m5 8 6 6"></path><path d="m4 14 6-6 2-3"></path><path d="M2 5h12"></path><path d="M7 2h1"></path><path d="m22 22-5-10-5 10"></path><path d="M14 18h6"></path></svg>Translate</span><span aria-hidden="true" class="border-brand-border-subtle text-brand-text-1 inline-flex items-center gap-1 rounded-full border px-1.5 py-0.5 text-[9px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-2.5 w-2.5"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg>Improve</span><span aria-hidden="true" class="border-brand-border-subtle text-brand-text-1 inline-flex items-center gap-1 rounded-full border px-1.5 py-0.5 text-[9px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-save h-2.5 w-2.5"><path d="M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z"></path><path d="M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7"></path><path d="M7 3v4a1 1 0 0 0 1 1h7"></path></svg>Save</span><span aria-hidden="true" class="border-brand-border-subtle text-brand-text-1 inline-flex items-center gap-1 rounded-full border px-1.5 py-0.5 text-[9px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy h-2.5 w-2.5"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg>Copy</span></div></div><div class="bg-brand-surface flex-1 p-3"><div class="flex items-center justify-between"><span class="text-brand-text-3 text-[10px] font-semibold uppercase tracking-wider">Recent</span><span class="text-brand-text-3 inline-flex items-center gap-1 text-[9px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-refresh-cw h-2.5 w-2.5" aria-hidden="true"><path d="M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path><path d="M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"></path><path d="M8 16H3v5"></path></svg>Open Inbox â</span></div><div class="mt-2 space-y-2"><div class="border-brand-border-subtle bg-brand-bg rounded-md border p-2.5"><div class="text-brand-text-3 flex items-center gap-1.5 text-[9px] font-semibold tracking-wider"><span>TRANSLATE</span><span class="bg-brand-border-subtle h-2.5 w-px"></span><span>
2811IN LIBRARY</span></div><p class="text-brand-text-1 mt-1.5 line-clamp-2 text-[11px] leading-snug">a quiet rewrite of what we already half-believed</p><div class="text-brand-text-3 mt-2 flex items-center gap-1 text-[9px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link2 h-2.5 w-2.5" aria-hidden="true"><path d="M9 17H7A5 5 0 0 1 7 7h2"></path><path d="M15 7h2a5 5 0 1 1 0 10h-2"></path><line x1="8" x2="16" y1="12" y2="12"></line></svg><span class="truncate">keepreap.com</span></div></div><div class="border-brand-border-subtle bg-brand-bg rounded-md border p-2.5"><div class="text-brand-text-3 flex items-center gap-1.5 text-[9px] font-semibold tracking-wider"><span>IMPROVE</span><span class="bg-brand-border-subtle h-2.5 w-px"></span><span>IN LIBRARY</span></div><p class="text-brand-text-1 mt-1.5 line-clamp-2 text-[11px] leading-snug">Memory is not a recording device.</p><div class="text-brand-text-3 mt-2 flex items-center gap-1 text-[9px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link2 h-2.5 w-2.5" aria-hidden="true"><path d="M9 17H7A5 5 0 0 1 7 7h2"></path><path d="M15 7h2a5 5 0 1 1 0 10h-2"></path><line x1="8" x2="16" y1="12" y2="12"></line></svg><span class="truncate">keepreap.com</span></div></div><div class="border-brand-border-subtle bg-brand-bg rounded-md border p-2.5"><div class="text-brand-text-3 flex items-center gap-1.5 text-[9px] font-semibold tracking-wider"><span>TRANSLATE</span><span class="bg-brand-border-subtle h-2.5 w-px"></span><span>IN LIBRARY</span></div><p class="text-brand-text-1 mt-1.5 line-clamp-2 text-[11px] leading-snug">the line worth keeping</p><div class="text-brand-text-3 mt-2 flex items-center gap-1 text-[9px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link2 h-2.5 w-2.5" aria-hidden="true"><path d="M9 17H7A5 5 0 0 1 7 7h2"></path><path d="M15 7h2a5 5 0 1 1 0 10h-2"></path><line x1="8" x2="16" y1="12" y2="12"></line></svg><span class="truncate">keepreap.com</span></div></div></div></div></div><svg aria-hidden="true" class="pointer-events-none absolute inset-0 z-20 h-full w-full opacity-0 transition-opacity duration-300 group-data-[scene=source]/stage:opacity-100 motion-reduce:transition-none" viewBox="0 0 100 100" preserveAspectRatio="none"><path d="M 28 33 C 42 2, 60 2, 73 11" class="text-brand-primary/55 fill-none stroke-current [stroke-dasharray:120] [stroke-dashoffset:120] transition-[stroke-dashoffset] delay-100 duration-500 group-data-[scene=source]/stage:[stroke-dashoffset:0] motion-reduce:transition-none group-data-[scene=source]/stage:motion-reduce:[stroke-dashoffset:0]" stroke-width="0.7" stroke-linecap="round"></path></svg><svg aria-hidden="true" class="text-brand-primary/80 pointer-events-none absolute z-30 h-8 w-8 -translate-x-1/2 -translate-y-1/2 left-[73%] top-[11%] rotate-[25deg] opacity-0 transition-opacity delay-500 duration-200 group-data-[scene=source]/stage:opacity-100 motion-reduce:transition-none" viewBox="0 0 16 16"><path d="M 3 4 Q 8 6, 14 8 Q 8 10, 3 12" class="fill-none stroke-current" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"></path></svg></div></div></div><div class="md:sticky md:top-44"><h3 class="text-brand-text-1 font-serif text-2xl font-medium leading-tight md:text-3xl">Every line remembers where it came from.</h3><p class="text-brand-text-2 mt-4 text-base leading-relaxed md:text-lg md:leading-relaxed">Save a sentence and it lands in your composer with the source URL attached. Open it again later â to translate, rewrite, listen, or revisit â and the original page is always one click back. No orphan quotes, no forgotten context.</p><ul class="text-brand-text-2 mt-4 list-none space-y-2 text-sm leading-relaxed md:text-base"><li>Every capture carries its <strong class="text-brand-text-1 font-semibold">source URL</strong>, attached automatically.</li><li>Browse your library by <strong class="text-brand-text-1 font-semibold">domain</strong> â see which sites you read most.</li><li><strong class="text-brand-text-1 font-semibold">Frequency stats</strong>
2811 show which pages you keep returning to.</li><li><strong class="text-brand-text-1 font-semibold">One click</strong> back to the original article, anytime.</li></ul></div></div></div></div></div></section><section id="mac" data-testid="landing-mac-app" class="bg-brand-surface px-6 py-20 md:py-28"><div class="mx-auto max-w-[1500px]"><div class="mx-auto max-w-2xl text-center"><p class="text-brand-text-3 font-mono text-[11px] font-semibold uppercase tracking-[0.18em]">Also on macOS</p><h2 class="text-brand-text-1 mt-4 font-serif text-3xl font-medium tracking-tight md:text-5xl">Your reading doesn't stop at the browser</h2><p class="text-brand-text-2 mt-4 text-base leading-relaxed">KeepReap sits in your menu bar. Select text in any Mac app â a chat window, a PDF, your mail client, your editor â press â¥D, and the same toolbar comes to it.</p></div><div class="mx-auto mt-12 max-w-5xl md:mt-16"><div data-testid="landing-video-mac" data-landing-video="" class="border-brand-border-subtle bg-brand-bg ring-brand-border-subtle relative w-full overflow-hidden rounded-xl border shadow-sm ring-1"><div class="bg-brand-surface-2 relative aspect-video w-full"><video src="/videos/keepreap-mac.mp4" poster="/videos/keepreap-mac.jpg" aria-label="Video: rewriting a message on the Mac with â¥D" width="1920" height="1080" loop="" playsinline="" preload="none" class="absolute inset-0 h-full w-full object-cover cursor-pointer"></video></div><div data-testid="landing-video-controls" class="border-brand-border-subtle text-brand-text-1 flex items-center gap-1 border-t px-2 py-1.5 sm:gap-2"><button type="button" data-testid="landing-video-play" aria-label="Play" title="Play" class="hover:bg-brand-surface focus-visible:ring-brand-text-1 inline-flex size-8 shrink-0 items-center justify-center rounded-full transition-colors focus-visible:outline-none focus-visible:ring-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-play size-4" aria-hidden="true"><polygon points="6 3 20 12 6 21 6 3"></polygon></svg></button><span class="text-brand-text-2 hidden min-w-[5.5rem] text-center text-xs tabular-nums sm:inline">0:00 / 0:00</span><div role="slider" tabindex="0" aria-label="Video progress" aria-valuemin="0" aria-valuemax="0" aria-valuenow="0" aria-valuetext="0:00 / 0:00" class="focus-visible:ring-brand-text-1 flex h-6 min-w-0 flex-1 cursor-pointer items-center rounded-full focus-visible:outline-none focus-visible:ring-2"><div class="bg-brand-border relative h-1 w-full overflow-hidden rounded-full"><div data-testid="landing-video-progress" class="bg-brand-text-1 absolute inset-y-0 left-0" style="width: 0%;"></div></div></div><button type="button" data-testid="landing-video-sound" aria-label="Turn sound on" title="Turn sound on" class="hover:bg-brand-surface focus-visible:ring-brand-text-1 inline-flex size-8 shrink-0 items-center justify-center rounded-full transition-colors focus-visible:outline-none focus-visible:ring-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-volume-x size-4" aria-hidden="true"><path d="M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z"></path><line x1="22" x2="16" y1="9" y2="15"></line><line x1="16" x2="22" y1="9" y2="15"></line></svg></button><button type="button" aria-label="Full screen" title="Full screen" class="hover:bg-brand-surface focus-visible:ring-brand-text-1 inline-flex size-8 shrink-0 items-center justify-center rounded-full transition-colors focus-visible:outline-none focus-visible:ring-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize size-4" aria-hidden="true"><path d="M8 3H5a2 2 0 0 0-2 2v3"></path><path d="M21 8V5a2 2 0 0 0-2-2h-3"></path><path d="M3 16v3a2 2 0 0 0 2 2h3"></path><path d="M16 21h3a2 2 0 0 0 2-2v-3"></path></svg></button></div></div></div><div class="mt-12 grid gap-10 md:mt-20 md:grid-cols-[3fr_2fr] md:gap-12"><div class="hidden md:block"><div class="sticky top-24">
2811<div role="img" aria-label="A Mac desktop with the KeepReap toolbar, its result bubble, and the translate window" data-scene="toolbar" class="border-brand-border-subtle bg-brand-surface-2 ring-brand-border-subtle group/stage relative w-full overflow-hidden rounded-xl border shadow-sm ring-1"><div class="border-brand-border-subtle bg-brand-bg flex items-center gap-3 border-b px-3 py-1.5"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-apple text-brand-text-2 h-3 w-3" aria-hidden="true"><path d="M12 20.94c1.5 0 2.75 1.06 4 1.06 3 0 6-8 6-12.22A4.91 4.91 0 0 0 17 5c-2.22 0-4 1.44-5 2-1-.56-2.78-2-5-2a4.9 4.9 0 0 0-5 4.78C2 14 5 22 8 22c1.25 0 2.5-1.06 4-1.06Z"></path><path d="M10 2c1 .5 2 2 2 5"></path></svg><span class="text-brand-text-1 text-[10px] font-semibold">Team Chat</span><span class="text-brand-text-3 hidden gap-3 text-[10px] sm:flex"><span>File</span><span>Edit</span><span>View</span></span><span class="ml-auto inline-flex items-center gap-2.5"><svg viewBox="314 423 1159 947" fill="currentColor" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4" role="img" aria-label="KeepReap"><defs><linearGradient id="krm-rb" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#F5A23E"></stop><stop offset="1" stop-color="#E3620B"></stop></linearGradient></defs> 2812<g transform="scale(1.0078431 1)"><path d="M407.077 423.744C454.055 419.645 499.592 453.121 510.437 498.827C514.448 515.731 513.5 535.845 513.518 553.28L513.543 609.641L513.494 810.679L584.363 810.714C616.791 810.723 644.986 813.222 675.933 802.119C702.761 792.335 726.315 775.235 743.928 752.759C779.326 708.065 780.761 668.342 780.735 614.973L780.686 550.174C780.676 524.927 779.513 506.899 790.93 483.376C802.791 458.921 823.929 440.217 849.646 431.419C858.433 428.491 867.565 426.721 876.811 426.156C893.686 425.052 920.364 425.871 937.863 425.904L1047.73 425.899L1144.94 425.884C1169.97 425.887 1194.79 425.113 1219.65 428.32C1249.77 432.191 1279.02 441.062 1306.22 454.568C1375.92 488.946 1429.18 549.49 1454.41 622.992C1479.84 697.011 1474.94 778.09 1440.75 848.501C1405.05 920.889 1346.52 970.784 1270.35 996.653C1284.39 1014.92 1302.94 1036.08 1317.9 1054.07L1403.79 1157.43L1439.17 1199.8C1445.42 1207.37 1453.95 1217.22 1458.93 1225.29C1465.84 1236.66 1470.34 1249.35 1472.12 1262.54C1475.61 1288.09 1468.63 1313.96 1452.76 1334.27C1438.02 1353.6 1416.21 1366.27 1392.12 1369.5C1332.71 1376.9 1305.13 1329.41 1271.8 1289.75L1169.1 1167.54L10
281255.8 1031.76L1019.41 988.194C1013.52 981.158 1004.39 970.915 999.336 963.625C991.72 952.759 987.047 940.1 985.782 926.898C983.428 905.684 989.753 884.418 1003.31 867.923C1018.01 849.91 1037.28 841.433 1060.03 839.239C1065.6 838.44 1083.9 838.831 1090.32 838.843L1141.36 838.968C1182.6 839.065 1214.24 837.328 1246.21 805.922C1269.65 782.879 1282.85 751.377 1282.82 718.505C1282.85 686.217 1271.38 654.229 1248.24 631.294C1233.74 616.845 1215.5 606.712 1195.58 602.023C1175.88 597.356 1132 598.993 1109.75 598.998L976.936 599.032C976.918 618.967 977.349 641.632 976.391 661.241C972.649 737.499 943.3 811.219 892.008 867.981C881.247 879.894 871.686 888.362 859.649 899.096C870.522 907.388 880.825 916.418 890.471 926.099C940.147 976.001 971.05 1041.54 977.937 1111.61C979.949 1132.03 979.422 1154.44 979.413 1175.1L979.44 1257.02C979.396 1290.63 975.206 1317.21 949.836 1342.21C930.888 1360.73 905.325 1370.92 878.831 1370.51C858.083 1370.3 837.933 1363.55 821.242 1351.24C802.312 1337.37 788.944 1317.21 783.544 1294.38C779.594 1277.81 780.66 1257.87 780.677 1240.61L780.771 1169.76C780.848 1112.93 779.63 1067.66 735.92 1023.59C712.125 999.28 680.696 983.881 646.9 979.981C630.953 978.303 609.192 978.883 592.729 978.883L513.725 978.847C513.056 1004.78 513.465 1032.01 513.474 1058.05L513.488 1192.87C513.496 1216.55 513.428 1240.29 513.44 1263.96C513.452 1290.39 508.447 1311.86 491.641 1332.87C475.342 1353.56 451.428 1366.87 425.245 1369.81C398.611 1372.99 371.816 1365.33 350.899 1348.54C330.32 1331.97 317.215 1307.87 314.502 1281.59C313.181 1268.11 313.761 1247.71 313.767 1233.58L313.8 1152.59L313.807 886.666L313.773 635.042L313.768 557.578C313.773 544.267 313.221 524.309 314.605 511.735C316.703 492.882 324.253 475.051 336.331 460.424C354.582 438.248 378.693 426.341 407.077 423.744Z" fill="url(#krm-rb)"></path></g> 2813</svg><span class="text-brand-text-3 font-mono text-[10px]">9:41</span></span></div><div class="relative px-4 py-5 sm:px-7 sm:py-6 min-h-[560px]"><div class="border-brand-border-subtle bg-brand-bg rounded-lg border shadow-sm transition-opacity duration-300 group-data-[scene=split]/stage:opacity-40 group-data-[scene=window]/stage:opacity-40 motion-reduce:transition-none"><div class="border-brand-border-subtle flex items-center gap-1.5 border-b px-3 py-2"><span class="bg-brand-border-subtle h-2 w-2 rounded-full" aria-hidden="true"></span><span class="bg-brand-border-subtle h-2 w-2 rounded-full" aria-hidden="true"></span><span class="bg-brand-border-subtle h-2 w-2 rounded-full" aria-hidden="true"></span><span class="text-brand-text-3 ml-2 truncate text-[10px]">#product-launch</span></div><div class="space-y-3 p-3.5"><div class="flex gap-2.5"><span aria-hidden="true" class="bg-brand-surface-2 border-brand-border-subtle mt-0.5 h-6 w-6 shrink-0 rounded-md border"></span><div class="min-w-0 flex-1"><p class="text-brand-text-1 text-[11px] font-semibold">Dana</p><div class="text-brand-text-2 mt-0.5 text-[11px] leading-relaxed">Pushed the copy changes â can someone check the release note?</div></div></div><div class="relative"><div class="flex gap-2.5"><span aria-hidden="true" class="bg-brand-surface-2 border-brand-border-subtle mt-0.5 h-6 w-6 shrink-0 rounded-md border"></span><div class="min-w-0 flex-1"><p class="text-brand-text-1 text-[11px] font-semibold">Priya</p><div class="text-brand-text-2 mt-0.5 text-[11px] leading-relaxed">Looks good, but <span class="bg-brand-warning-surface text-brand-text-1 rounded px-1 py-0.5">we should to discuss again about the rollout cadence</span> before Thursday.</div></div></div><div class="absolute left-9 top-full z-10 mt-2 flex flex-col items-start gap-1.5 transition-opacity duration-300 group-data-[scene=window]/stage:pointer-events-none group-data-[scene=window]/stage:opacity-0 group-data-[scene=split]/stage:pointer-events-none group-data-[scene=split]/stage:opacity-0 motion-reduce:transition-none"><span class="border-brand-border-subtle bg-brand-bg ring-brand-border-subtle inline-flex items-center gap-1 rounded-full py-1 pl-1.5 pr-2.5 shadow-lg ring-1"><span aria-hidden="true" class="text-brand-text-3 inline-flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-grip-vertical h-3 w-3"><circle cx="9" cy="12" r="1"></circle><circle cx="9" cy="5" r="1"></circle><circle cx="9" cy="19" r="1"></circle><circle cx="15" cy="12" r="1"></circle><circle cx="15" cy="5" r="1"></circle><circle cx="15" cy="19" r="1"></circle></svg></span><span aria-hidden="true" class="inline-flex items-center"><svg viewBox="314 423 1159 947" fill="currentColor" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4" role="img" aria-label="KeepReap"><defs><linearGradient id="krm-rc" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#F5A23E"></stop><stop offset="1" stop-color="#E3620B"></stop></linearGradient></defs> 2814<g transform="scale(1.0078431 1)"><path d="M407.077 423.744C454.055 419.645 499.592 453.121 510.437 498.827C514.448 515.731 513.5 535.845 513.518 553.28L513.543 609.641L513.494 810.679L584.363 810.714C616.791 810.723 644.986 813.222 675.933 802.119C702.761 792.335 726.315 775.235 743.928 752.759C779.326 708.065 780.761 668.342 780.735 614.973L780.686 550.174C780.676 524.927 779.513 506.899 790.93 483.376C802.791 458.921 823.929 440.217 849.646 431.419C858.433 428.491 867.565 426.721 876.811 426.156C893.686 425.052 920.364 425.871 937.863 425.904L1047.73 425.899L1144.94 425.884C1169.97 425.887 1194.79 425.113 1219.65 428.32C1249.77 432.191 1279.02 441.062 1306.22 454.568C1375.92 488.946 1429.18 549.49 1454.41 622.992C1479.84 697.011 1474.94 778.09 1440.75 848.501C1405.05 920.889 1346.52 970.784 1270.35 996.653C1284.39 1014.92 1302.94 1036.08 1317.9 1054.07L1403.79 1157.43L1439.17 1199.8C1445.42 1207.37 1453.95 1217.22 1458.93 1225.29C1465.84 1236.66 1470.34 1249.35 1472.12 1262.54C1475.61 1288.09 1468.63 1313.96 1452.76 1334.27C1438.02 1353.6 1416.21 1366.27 1392.12 1369.5C1332.71 1376.9 1305.13
28141329.41 1271.8 1289.75L1169.1 1167.54L1055.8 1031.76L1019.41 988.194C1013.52 981.158 1004.39 970.915 999.336 963.625C991.72 952.759 987.047 940.1 985.782 926.898C983.428 905.684 989.753 884.418 1003.31 867.923C1018.01 849.91 1037.28 841.433 1060.03 839.239C1065.6 838.44 1083.9 838.831 1090.32 838.843L1141.36 838.968C1182.6 839.065 1214.24 837.328 1246.21 805.922C1269.65 782.879 1282.85 751.377 1282.82 718.505C1282.85 686.217 1271.38 654.229 1248.24 631.294C1233.74 616.845 1215.5 606.712 1195.58 602.023C1175.88 597.356 1132 598.993 1109.75 598.998L976.936 599.032C976.918 618.967 977.349 641.632 976.391 661.241C972.649 737.499 943.3 811.219 892.008 867.981C881.247 879.894 871.686 888.362 859.649 899.096C870.522 907.388 880.825 916.418 890.471 926.099C940.147 976.001 971.05 1041.54 977.937 1111.61C979.949 1132.03 979.422 1154.44 979.413 1175.1L979.44 1257.02C979.396 1290.63 975.206 1317.21 949.836 1342.21C930.888 1360.73 905.325 1370.92 878.831 1370.51C858.083 1370.3 837.933 1363.55 821.242 1351.24C802.312 1337.37 788.944 1317.21 783.544 1294.38C779.594 1277.81 780.66 1257.87 780.677 1240.61L780.771 1169.76C780.848 1112.93 779.63 1067.66 735.92 1023.59C712.125 999.28 680.696 983.881 646.9 979.981C630.953 978.303 609.192 978.883 592.729 978.883L513.725 978.847C513.056 1004.78 513.465 1032.01 513.474 1058.05L513.488 1192.87C513.496 1216.55 513.428 1240.29 513.44 1263.96C513.452 1290.39 508.447 1311.86 491.641 1332.87C475.342 1353.56 451.428 1366.87 425.245 1369.81C398.611 1372.99 371.816 1365.33 350.899 1348.54C330.32 1331.97 317.215 1307.87 314.502 1281.59C313.181 1268.11 313.761 1247.71 313.767 1233.58L313.8 1152.59L313.807 886.666L313.773 635.042L313.768 557.578C313.773 544.267 313.221 524.309 314.605 511.735C316.703 492.882 324.253 475.051 336.331 460.424C354.582 438.248 378.693 426.341 407.077 423.744Z" fill="url(#krm-rc)"></path></g> 2815</svg></span><span aria-hidden="true" class="bg-brand-border mx-1 h-4 w-px"></span><span aria-hidden="true" class="text-brand-text-1 inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-medium"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-languages h-3 w-3 shrink-0"><path d="m5 8 6 6"></path><path d="m4 14 6-6 2-3"></path><path d="M2 5h12"></path><path d="M7 2h1"></path><path d="m22 22-5-10-5 10"></path><path d="M14 18h6"></path></svg>Translate</span><span aria-hidden="true" class="text-brand-text-1 inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-medium"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-3 w-3 shrink-0"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg>Improve</span><span aria-hidden="true" class="text-brand-text-1 inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-medium"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-save h-3 w-3 shrink-0"><path d="M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z"></path><path d="M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7"></path><path d="M7 3v4a1 1 0 0 0 1 1h7"></path></svg>Save</span><span aria-hidden="true" class="text-brand-text-1 inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-medium"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy h-3 w-3 shrink-0"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg>Copy</span><span aria-hidden="true" class="text-brand-text-1 inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-medium"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-volume2 h-3 w-3 shrink-0"><path d="M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z"></path><path d="M16 9a5 5 0 0 1 0 6"></path><path d="M19.364 18.364a9 9 0 0 0 0-12.728"></path></svg>Speak</span></span><span class="border-brand-border-subtle bg-brand-bg block w-[286px] overflow-hidden rounded-xl border shadow-xl origin-top scale-95 opacity-0 transition-[opacity,transform] duration-300 group-data-[scene=bubble]/stage:scale-100 group-data-[scene=bubble]/stage:opacity-100 motion-reduce:transition-none"><span class="border-brand-border-subtle relative flex items-center border-b px-2.5 py-1.5"><span class="text-brand-text-1 inline-flex items-center gap-1 text-[10px] font-semibold"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-3 w-3" aria-hidden="true"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg>Improve</span><span aria-hidden="true" class="text-brand-text-3 absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-grip-vertical h-3 w-3 rotate-90"><circle cx="9" cy="12" r="1"></circle><circle cx="9" cy="5" r="1"></circle><circle cx="9" cy="19" r="1"></circle><circle cx="15" cy="12" r="1"></circle><circle cx="15" cy="5" r="1"></circle><circle cx="15" cy="19" r="1"></circle></svg></span><span class="ml-auto inline-flex items-center gap-1.5"><span class="border-brand-border-subtle text-brand-text-3 rounded-full border px-1.5 py-px font-mono text-[8px]">9/10</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-pin-off text-brand-text-3 h-2.5 w-2.5" aria-hidden="true"><path d="M12 17v5"></path><path d="M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89"></path><path d="m2 2 20 20"></path><path d="M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-x text-brand-text-3 h-2.5 w-2.5" aria-hidden="true"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg></span></span><span class="block p-2.5"><div class="flex items-center gap-2"><span class="text-brand-text-3 text-[9px] font-semibold uppercase tracking-[0.12em]">Original</span><span class="kr-score kr-score--good" aria-label="Sentence score 7 out of 10" data-testid="score-badge"><span aria-hidden="true">ð</span><span class="kr-score-text">Good 7 / 10</span></span></div><p class="bg-brand-surface text-brand-text-2 mt-1 rounded-lg px-2 py-1.5 text-[10px] leading-snug">
2815we should to discuss again about the rollout cadence</p><div class="mt-2"><span class="text-brand-text-3 text-[9px] font-semibold uppercase tracking-[0.12em]">Corrected</span></div><p class="bg-brand-success-surface text-brand-success mt-1 rounded-lg px-2 py-1.5 text-[10px] font-medium leading-snug">we should discuss the rollout cadence again</p><div class="mt-2"><span class="text-brand-text-3 text-[9px] font-semibold uppercase tracking-[0.12em]">What changed</span></div><div class="border-brand-border-subtle text-brand-text-1 mt-1 border-l-2 pl-2 text-[10px] leading-snug"><p class="kr-diff"><span class="kr-diff-eq">we should </span><del class="kr-diff-del">to </del><span class="kr-diff-eq">discuss </span><del class="kr-diff-del">again about </del><span class="kr-diff-eq">the rollout cadence</span><ins class="kr-diff-ins"> again</ins></p></div></span></span></div></div></div></div><div class="absolute inset-x-8 top-[12%] z-20 sm:inset-x-16 pointer-events-none opacity-0 group-data-[scene=split]/stage:opacity-100 group-data-[scene=window]/stage:opacity-100"><div class="border-brand-border-subtle bg-brand-bg w-full overflow-hidden rounded-xl border shadow-2xl translate-y-3 opacity-0 transition-[opacity,transform] duration-300 group-data-[scene=window]/stage:translate-y-0 group-data-[scene=window]/stage:opacity-100 group-data-[scene=split]/stage:translate-y-0 group-data-[scene=split]/stage:opacity-100 motion-reduce:transition-none"><div class="flex items-center gap-2 px-3 py-2"><span class="inline-flex items-center gap-1.5" aria-hidden="true"><span class="bg-brand-border-subtle h-2 w-2 rounded-full"></span><span class="bg-brand-border-subtle h-2 w-2 rounded-full"></span><span class="bg-brand-border-subtle h-2 w-2 rounded-full"></span></span><span class="ml-auto inline-flex items-center gap-2"><span class="border-brand-border-subtle text-brand-text-3 rounded-full border px-1.5 py-px font-mono text-[9px]">9/10</span><span class="inline-flex h-5 w-5 items-center justify-center rounded-full transition-colors duration-300 motion-reduce:transition-none"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-columns2 h-3 w-3 text-brand-text-3" aria-hidden="true"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M12 3v18"></path></svg></span><span class="bg-brand-surface-2 inline-flex h-5 w-5 items-center justify-center rounded-full"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-pin-off text-brand-text-1 h-3 w-3 rotate-45" aria-hidden="true"><path d="M12 17v5"></path><path d="M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89"></path><path d="m2 2 20 20"></path><path d="M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11"></path></svg></span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings text-brand-text-3 h-3 w-3" aria-hidden="true"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg></span></div><div class="px-4"><p class="text-brand-text-1 text-[12px] leading-relaxed">we should to discuss again about the rollout cadence</p><p class="text-brand-text-3 mt-1 text-right font-mono text-[9px]">52 / 4000</p></div><div class="relative py-1"><span class="bg-brand-border-subtle block h-px w-full" aria-hidden="true"></span><span aria-hidden="true" class="bg-brand-border absolute left-1/2 top-1/2 h-1 w-8 -translate-x-1/2 -translate-y-1/2 roun
2815ded-full"></span></div><div class="px-4 pb-2 pt-2"><div class="flex items-center gap-2"><span class="text-brand-text-3 text-[9px] font-semibold uppercase tracking-[0.12em]">Original</span><span class="kr-score kr-score--good" aria-label="Sentence score 7 out of 10" data-testid="score-badge"><span aria-hidden="true">ð</span><span class="kr-score-text">Good 7 / 10</span></span></div><p class="bg-brand-surface text-brand-text-2 mt-1 rounded-lg px-2 py-1.5 text-[10px] leading-snug">we should to discuss again about the rollout cadence</p><div class="mt-2"><span class="text-brand-text-3 text-[9px] font-semibold uppercase tracking-[0.12em]">Corrected</span></div><p class="bg-brand-success-surface text-brand-success mt-1 rounded-lg px-2 py-1.5 text-[10px] font-medium leading-snug">we should discuss the rollout cadence again</p><div class="mt-2"><span class="text-brand-text-3 text-[9px] font-semibold uppercase tracking-[0.12em]">What changed</span></div><div class="border-brand-border-subtle text-brand-text-1 mt-1 border-l-2 pl-2 text-[10px] leading-snug"><p class="kr-diff"><span class="kr-diff-eq">we should </span><del class="kr-diff-del">to </del><span class="kr-diff-eq">discuss </span><del class="kr-diff-del">again about </del><span class="kr-diff-eq">the rollout cadence</span><ins class="kr-diff-ins"> again</ins></p></div></div><div class="flex pb-3 pt-1 justify-center"><span class="border-brand-border-subtle bg-brand-bg ring-brand-border-subtle inline-flex items-center gap-1 rounded-full px-2 py-1 shadow-lg ring-1"><span class="text-brand-text-3 inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-medium"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-languages h-3 w-3" aria-hidden="true"><path d="m5 8 6 6"></path><path d="m4 14 6-6 2-3"></path><path d="M2 5h12"></path><path d="M7 2h1"></path><path d="m22 22-5-10-5 10"></path><path d="M14 18h6"></path></svg>Translate</span><span class="bg-brand-surface-2 text-brand-text-1 inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-medium"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-3 w-3" aria-hidden="true"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg>Improve</span><span aria-hidden="true" class="bg-brand-border mx-1 h-4 w-px"></span><span class="text-brand-text-1 inline-flex items-center gap-1 text-[10px] font-semibold">Auto<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-repeat2 text-brand-text-3 h-3 w-3" aria-hidden="true"><path d="m2 9 3-3 3 3"></path><path d="M13 18H7a2 2 0 0 1-2-2V6"></path><path d="m22 15-3 3-3-3"></path><path d="M11 6h6a2 2 0 0 1 2 2v10"></path></svg>English<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down text-brand-text-3 h-2.5 w-2.5" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></span></span></div></div></div></div><span class="text-brand-text-3 absolute bottom-3 right-4 inline-flex items-center gap-1.5 text-[10px]"><span class="group-data-[scene=split]/stage:hidden group-data-[scene=window]/stage:hidden">Select, then press</span><span class="hidden group-data-[scene=split]/stage:inline group-data-[scene=window]/stage:inline">Or open the workbench with</span><span class="border-brand-border bg-brand-bg text-brand-text-2 inline-flex h-5 min-w-[20px] items-center justify-center rounded border px-1 font-mono text-[10px] leading-none shadow-sm">â¥</span><span class="hidden group-data-[scene=split]/stage:inline group-data-[scene=window]/stage:inline"><span class="border-brand-border bg-brand-bg text-brand-text-2 inline-flex h-5 min-w-[20px] items-center justify-center rounded border px-1 font-mono text-[10px] leading-none shadow-sm">â§</span></span><span class="border-brand-border bg-brand-bg text-brand-text-2 inline-flex h-5 min-w-[20px] items-center justify-center rounded border px-1 font-mono text-[10px] leading-none shadow-sm">D</span></span></div></div></div><div class="md:flex md:flex-col"><div class="flex flex-col py-12 md:py-20 min-h-[60vh] justify-center md:min-h-[70vh]"><div class="mb-6 md:hidden"><div aria-hidden="true" data-scene="toolbar" class="border-brand-border-subtle bg-brand-surface-2 ring-brand-border-subtle group/stage relative w-full overflow-hidden rounded-xl border shadow-sm ring-1"><div class="border-brand-border-subtle bg-brand-bg flex items-center gap-3 border-b px-3 py-1.5"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-apple text-brand-text-2 h-3 w-3" aria-hidden="true"><path d="M12 20.94c1.5 0 2.75 1.06 4 1.06 3 0 6-8 6-12.22A4.91 4.91 0 0 0 17 5c-2.22 0-4 1.44-5 2-1-.56-2.78-2-5-2a4.9 4.9 0 0 0-5 4.78C2 14 5 22 8 22c1.25 0 2.5-1.06 4-1.06Z"></path><path d="M10 2c1 .5 2 2 2 5"></path></svg><span class="text-brand-text-1 text-[10px] font-semibold">Team Chat</span><span class="text-brand-text-3 hidden gap-3 text-[10px] sm:flex"><span>File</span><span>Edit</span><span>View</span></span><span class="ml-auto inline-flex items-center gap-2.5"><svg viewBox="314 423 1159 947" fill="currentColor" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4" role="img" aria-label="KeepReap"><defs><linearGradient id="krm-rd" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#F5A23E"></stop><stop offset="1" stop-color="#E3620B"></stop></linearGradient></defs> 2816<g transform="scale(1.0078431 1)"><path d="M407.077 423.744C454.055 419.645 499.592 453.121 510.437 498.827C514.448 515.731 513.5 535.845 513.518 553.28L513.543 609.641L513.494 810.679L584.363 810.714C616.791 810.723 644.986 813.222 675.933 802.119C702.761 792.335 726.315 775.235 743.928 752.759C779.326 708.065 780.761 668.342 780.735 614.973L780.686 550.174C780.676 524.927 779.513 506.899 790.93 483.376C802.791 458.921 823.929 440.217 849.646 431.419C858.433 428.491 867.565 426.721 876.811 426.156C893.686 425.052 920.364 425.871 937.863 425.904L1047.73 425.899L1144.94 425.884C1169.97 425.887 1194.79 425.113 1219.65 428.32C1249.77 432.191 1279.02 441.062 1306.22 454.568C1375.92 488.946 1429.18 549.49 1454.41 622.992C1479.84 697.011 1474.94 778.09 1440.75 848.501C1405.05 920.889 1346.52 970.784 1270.35 996.653C1284.39 1014.92 1302.94 1036.08 1317.9 1054.07L1403.79 1157.43L1439.17 1199.8C1445.42 1207.37 1453.95 1217.22 1458.93 1225.29C1465.84 1236.66 1470.34 1249.35 1472.12 1262.54C1475.61 1288.09 1468.63 1313.96 1452.76 1334.27C1438.02 1353.6 1416.21 1366.27 1392.12 1369.5C1332.71 1376.9 1305.13
28161329.41 1271.8 1289.75L1169.1 1167.54L1055.8 1031.76L1019.41 988.194C1013.52 981.158 1004.39 970.915 999.336 963.625C991.72 952.759 987.047 940.1 985.782 926.898C983.428 905.684 989.753 884.418 1003.31 867.923C1018.01 849.91 1037.28 841.433 1060.03 839.239C1065.6 838.44 1083.9 838.831 1090.32 838.843L1141.36 838.968C1182.6 839.065 1214.24 837.328 1246.21 805.922C1269.65 782.879 1282.85 751.377 1282.82 718.505C1282.85 686.217 1271.38 654.229 1248.24 631.294C1233.74 616.845 1215.5 606.712 1195.58 602.023C1175.88 597.356 1132 598.993 1109.75 598.998L976.936 599.032C976.918 618.967 977.349 641.632 976.391 661.241C972.649 737.499 943.3 811.219 892.008 867.981C881.247 879.894 871.686 888.362 859.649 899.096C870.522 907.388 880.825 916.418 890.471 926.099C940.147 976.001 971.05 1041.54 977.937 1111.61C979.949 1132.03 979.422 1154.44 979.413 1175.1L979.44 1257.02C979.396 1290.63 975.206 1317.21 949.836 1342.21C930.888 1360.73 905.325 1370.92 878.831 1370.51C858.083 1370.3 837.933 1363.55 821.242 1351.24C802.312 1337.37 788.944 1317.21 783.544 1294.38C779.594 1277.81 780.66 1257.87 780.677 1240.61L780.771 1169.76C780.848 1112.93 779.63 1067.66 735.92 1023.59C712.125 999.28 680.696 983.881 646.9 979.981C630.953 978.303 609.192 978.883 592.729 978.883L513.725 978.847C513.056 1004.78 513.465 1032.01 513.474 1058.05L513.488 1192.87C513.496 1216.55 513.428 1240.29 513.44 1263.96C513.452 1290.39 508.447 1311.86 491.641 1332.87C475.342 1353.56 451.428 1366.87 425.245 1369.81C398.611 1372.99 371.816 1365.33 350.899 1348.54C330.32 1331.97 317.215 1307.87 314.502 1281.59C313.181 1268.11 313.761 1247.71 313.767 1233.58L313.8 1152.59L313.807 886.666L313.773 635.042L313.768 557.578C313.773 544.267 313.221 524.309 314.605 511.735C316.703 492.882 324.253 475.051 336.331 460.424C354.582 438.248 378.693 426.341 407.077 423.744Z" fill="url(#krm-rd)"></path></g> 2817</svg><span class="text-brand-text-3 font-mono text-[10px]">9:41</span></span></div><div class="relative px-4 py-5 sm:px-7 sm:py-6 min-h-[420px]"><div class="border-brand-border-subtle bg-brand-bg rounded-lg border shadow-sm transition-opacity duration-300 group-data-[scene=split]/stage:opacity-40 group-data-[scene=window]/stage:opacity-40 motion-reduce:transition-none"><div class="border-brand-border-subtle flex items-center gap-1.5 border-b px-3 py-2"><span class="bg-brand-border-subtle h-2 w-2 rounded-full" aria-hidden="true"></span><span class="bg-brand-border-subtle h-2 w-2 rounded-full" aria-hidden="true"></span><span class="bg-brand-border-subtle h-2 w-2 rounded-full" aria-hidden="true"></span><span class="text-brand-text-3 ml-2 truncate text-[10px]">#product-launch</span></div><div class="space-y-3 p-3.5"><div class="flex gap-2.5"><span aria-hidden="true" class="bg-brand-surface-2 border-brand-border-subtle mt-0.5 h-6 w-6 shrink-0 rounded-md border"></span><div class="min-w-0 flex-1"><p class="text-brand-text-1 text-[11px] font-semibold">Dana</p><div class="text-brand-text-2 mt-0.5 text-[11px] leading-relaxed">Pushed the copy changes â can someone check the release note?</div></div></div><div class="relative"><div class="flex gap-2.5"><span aria-hidden="true" class="bg-brand-surface-2 border-brand-border-subtle mt-0.5 h-6 w-6 shrink-0 rounded-md border"></span><div class="min-w-0 flex-1"><p class="text-brand-text-1 text-[11px] font-semibold">Priya</p><div class="text-brand-text-2 mt-0.5 text-[11px] leading-relaxed">Looks good, but <span class="bg-brand-warning-surface text-brand-text-1 rounded px-1 py-0.5">we should to discuss again about the rollout cadence</span> before Thursday.</div></div></div><div class="absolute left-9 top-full z-10 mt-2 flex flex-col items-start gap-1.5 transition-opacity duration-300 group-data-[scene=window]/stage:pointer-events-none group-data-[scene=window]/stage:opacity-0 group-data-[scene=split]/stage:pointer-events-none group-data-[scene=split]/stage:opacity-0 motion-reduce:transition-none"><span class="border-brand-border-subtle bg-brand-bg ring-brand-border-subtle inline-flex items-center gap-1 rounded-full py-1 pl-1.5 pr-2.5 shadow-lg ring-1"><span aria-hidden="true" class="text-brand-text-3 inline-flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-grip-vertical h-3 w-3"><circle cx="9" cy="12" r="1"></circle><circle cx="9" cy="5" r="1"></circle><circle cx="9" cy="19" r="1"></circle><circle cx="15" cy="12" r="1"></circle><circle cx="15" cy="5" r="1"></circle><circle cx="15" cy="19" r="1"></circle></svg></span><span aria-hidden="true" class="inline-flex items-center"><svg viewBox="314 423 1159 947" fill="currentColor" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4" role="img" aria-label="KeepReap"><defs><linearGradient id="krm-re" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#F5A23E"></stop><stop offset="1" stop-color="#E3620B"></stop></linearGradient></defs> 2818<g transform="scale(1.0078431 1)"><path d="M407.077 423.744C454.055 419.645 499.592 453.121 510.437 498.827C514.448 515.731 513.5 535.845 513.518 553.28L513.543 609.641L513.494 810.679L584.363 810.714C616.791 810.723 644.986 813.222 675.933 802.119C702.761 792.335 726.315 775.235 743.928 752.759C779.326 708.065 780.761 668.342 780.735 614.973L780.686 550.174C780.676 524.927 779.513 506.899 790.93 483.376C802.791 458.921 823.929 440.217 849.646 431.419C858.433 428.491 867.565 426.721 876.811 426.156C893.686 425.052 920.364 425.871 937.863 425.904L1047.73 425.899L1144.94 425.884C1169.97 425.887 1194.79 425.113 1219.65 428.32C1249.77 432.191 1279.02 441.062 1306.22 454.568C1375.92 488.946 1429.18 549.49 1454.41 622.992C1479.84 697.011 1474.94 778.09 1440.75 848.501C1405.05 920.889 1346.52 970.784 1270.35 996.653C1284.39 1014.92 1302.94 1036.08 1317.9 1054.07L1403.79 1157.43L1439.17 1199.8C1445.42 1207.37 1453.95 1217.22 1458.93 1225.29C1465.84 1236.66 1470.34 1249.35 1472.12 1262.54C1475.61 1288.09 1468.63 1313.96 1452.76 1334.27C1438.02 1353.6 1416.21 1366.27 1392.12 1369.5C1332.71 1376.9 1305.13
28181329.41 1271.8 1289.75L1169.1 1167.54L1055.8 1031.76L1019.41 988.194C1013.52 981.158 1004.39 970.915 999.336 963.625C991.72 952.759 987.047 940.1 985.782 926.898C983.428 905.684 989.753 884.418 1003.31 867.923C1018.01 849.91 1037.28 841.433 1060.03 839.239C1065.6 838.44 1083.9 838.831 1090.32 838.843L1141.36 838.968C1182.6 839.065 1214.24 837.328 1246.21 805.922C1269.65 782.879 1282.85 751.377 1282.82 718.505C1282.85 686.217 1271.38 654.229 1248.24 631.294C1233.74 616.845 1215.5 606.712 1195.58 602.023C1175.88 597.356 1132 598.993 1109.75 598.998L976.936 599.032C976.918 618.967 977.349 641.632 976.391 661.241C972.649 737.499 943.3 811.219 892.008 867.981C881.247 879.894 871.686 888.362 859.649 899.096C870.522 907.388 880.825 916.418 890.471 926.099C940.147 976.001 971.05 1041.54 977.937 1111.61C979.949 1132.03 979.422 1154.44 979.413 1175.1L979.44 1257.02C979.396 1290.63 975.206 1317.21 949.836 1342.21C930.888 1360.73 905.325 1370.92 878.831 1370.51C858.083 1370.3 837.933 1363.55 821.242 1351.24C802.312 1337.37 788.944 1317.21 783.544 1294.38C779.594 1277.81 780.66 1257.87 780.677 1240.61L780.771 1169.76C780.848 1112.93 779.63 1067.66 735.92 1023.59C712.125 999.28 680.696 983.881 646.9 979.981C630.953 978.303 609.192 978.883 592.729 978.883L513.725 978.847C513.056 1004.78 513.465 1032.01 513.474 1058.05L513.488 1192.87C513.496 1216.55 513.428 1240.29 513.44 1263.96C513.452 1290.39 508.447 1311.86 491.641 1332.87C475.342 1353.56 451.428 1366.87 425.245 1369.81C398.611 1372.99 371.816 1365.33 350.899 1348.54C330.32 1331.97 317.215 1307.87 314.502 1281.59C313.181 1268.11 313.761 1247.71 313.767 1233.58L313.8 1152.59L313.807 886.666L313.773 635.042L313.768 557.578C313.773 544.267 313.221 524.309 314.605 511.735C316.703 492.882 324.253 475.051 336.331 460.424C354.582 438.248 378.693 426.341 407.077 423.744Z" fill="url(#krm-re)"></path></g> 2819</svg></span><span aria-hidden="true" class="bg-brand-border mx-1 h-4 w-px"></span><span aria-hidden="true" class="text-brand-text-1 inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-medium"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-languages h-3 w-3 shrink-0"><path d="m5 8 6 6"></path><path d="m4 14 6-6 2-3"></path><path d="M2 5h12"></path><path d="M7 2h1"></path><path d="m22 22-5-10-5 10"></path><path d="M14 18h6"></path></svg>Translate</span><span aria-hidden="true" class="text-brand-text-1 inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-medium"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-3 w-3 shrink-0"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg>Improve</span><span aria-hidden="true" class="text-brand-text-1 inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-medium"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-save h-3 w-3 shrink-0"><path d="M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z"></path><path d="M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7"></path><path d="M7 3v4a1 1 0 0 0 1 1h7"></path></svg>Save</span><span aria-hidden="true" class="text-brand-text-1 inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-medium"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy h-3 w-3 shrink-0"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg>Copy</span><span aria-hidden="true" class="text-brand-text-1 inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-medium"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-volume2 h-3 w-3 shrink-0"><path d="M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z"></path><path d="M16 9a5 5 0 0 1 0 6"></path><path d="M19.364 18.364a9 9 0 0 0 0-12.728"></path></svg>Speak</span></span><span class="border-brand-border-subtle bg-brand-bg block w-[286px] overflow-hidden rounded-xl border shadow-xl origin-top scale-95 opacity-0 transition-[opacity,transform] duration-300 group-data-[scene=bubble]/stage:scale-100 group-data-[scene=bubble]/stage:opacity-100 motion-reduce:transition-none"><span class="border-brand-border-subtle relative flex items-center border-b px-2.5 py-1.5"><span class="text-brand-text-1 inline-flex items-center gap-1 text-[10px] font-semibold"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-3 w-3" aria-hidden="true"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg>Improve</span><span aria-hidden="true" class="text-brand-text-3 absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-grip-vertical h-3 w-3 rotate-90"><circle cx="9" cy="12" r="1"></circle><circle cx="9" cy="5" r="1"></circle><circle cx="9" cy="19" r="1"></circle><circle cx="15" cy="12" r="1"></circle><circle cx="15" cy="5" r="1"></circle><circle cx="15" cy="19" r="1"></circle></svg></span><span class="ml-auto inline-flex items-center gap-1.5"><span class="border-brand-border-subtle text-brand-text-3 rounded-full border px-1.5 py-px font-mono text-[8px]">9/10</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-pin-off text-brand-text-3 h-2.5 w-2.5" aria-hidden="true"><path d="M12 17v5"></path><path d="M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89"></path><path d="m2 2 20 20"></path><path d="M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-x text-brand-text-3 h-2.5 w-2.5" aria-hidden="true"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg></span></span><span class="block p-2.5"><div class="flex items-center gap-2"><span class="text-brand-text-3 text-[9px] font-semibold uppercase tracking-[0.12em]">Original</span><span class="kr-score kr-score--good" aria-label="Sentence score 7 out of 10" data-testid="score-badge"><span aria-hidden="true">ð</span><span class="kr-score-text">Good 7 / 10</span></span></div><p class="bg-brand-surface text-brand-text-2 mt-1 rounded-lg px-2 py-1.5 text-[10px] leading-snug">
2819we should to discuss again about the rollout cadence</p><div class="mt-2"><span class="text-brand-text-3 text-[9px] font-semibold uppercase tracking-[0.12em]">Corrected</span></div><p class="bg-brand-success-surface text-brand-success mt-1 rounded-lg px-2 py-1.5 text-[10px] font-medium leading-snug">we should discuss the rollout cadence again</p><div class="mt-2"><span class="text-brand-text-3 text-[9px] font-semibold uppercase tracking-[0.12em]">What changed</span></div><div class="border-brand-border-subtle text-brand-text-1 mt-1 border-l-2 pl-2 text-[10px] leading-snug"><p class="kr-diff"><span class="kr-diff-eq">we should </span><del class="kr-diff-del">to </del><span class="kr-diff-eq">discuss </span><del class="kr-diff-del">again about </del><span class="kr-diff-eq">the rollout cadence</span><ins class="kr-diff-ins"> again</ins></p></div></span></span></div></div></div></div><div class="absolute inset-x-8 top-[12%] z-20 sm:inset-x-16 pointer-events-none opacity-0 group-data-[scene=split]/stage:opacity-100 group-data-[scene=window]/stage:opacity-100"><div class="border-brand-border-subtle bg-brand-bg w-full overflow-hidden rounded-xl border shadow-2xl translate-y-3 opacity-0 transition-[opacity,transform] duration-300 group-data-[scene=window]/stage:translate-y-0 group-data-[scene=window]/stage:opacity-100 group-data-[scene=split]/stage:translate-y-0 group-data-[scene=split]/stage:opacity-100 motion-reduce:transition-none"><div class="flex items-center gap-2 px-3 py-2"><span class="inline-flex items-center gap-1.5" aria-hidden="true"><span class="bg-brand-border-subtle h-2 w-2 rounded-full"></span><span class="bg-brand-border-subtle h-2 w-2 rounded-full"></span><span class="bg-brand-border-subtle h-2 w-2 rounded-full"></span></span><span class="ml-auto inline-flex items-center gap-2"><span class="border-brand-border-subtle text-brand-text-3 rounded-full border px-1.5 py-px font-mono text-[9px]">9/10</span><span class="inline-flex h-5 w-5 items-center justify-center rounded-full transition-colors duration-300 motion-reduce:transition-none"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-columns2 h-3 w-3 text-brand-text-3" aria-hidden="true"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M12 3v18"></path></svg></span><span class="bg-brand-surface-2 inline-flex h-5 w-5 items-center justify-center rounded-full"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-pin-off text-brand-text-1 h-3 w-3 rotate-45" aria-hidden="true"><path d="M12 17v5"></path><path d="M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89"></path><path d="m2 2 20 20"></path><path d="M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11"></path></svg></span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings text-brand-text-3 h-3 w-3" aria-hidden="true"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg></span></div><div class="px-4"><p class="text-brand-text-1 text-[12px] leading-relaxed">we should to discuss again about the rollout cadence</p><p class="text-brand-text-3 mt-1 text-right font-mono text-[9px]">52 / 4000</p></div><div class="relative py-1"><span class="bg-brand-border-subtle block h-px w-full" aria-hidden="true"></span><span aria-hidden="true" class="bg-brand-border absolute left-1/2 top-1/2 h-1 w-8 -translate-x-1/2 -translate-y-1/2 roun
2819ded-full"></span></div><div class="px-4 pb-2 pt-2"><div class="flex items-center gap-2"><span class="text-brand-text-3 text-[9px] font-semibold uppercase tracking-[0.12em]">Original</span><span class="kr-score kr-score--good" aria-label="Sentence score 7 out of 10" data-testid="score-badge"><span aria-hidden="true">ð</span><span class="kr-score-text">Good 7 / 10</span></span></div><p class="bg-brand-surface text-brand-text-2 mt-1 rounded-lg px-2 py-1.5 text-[10px] leading-snug">we should to discuss again about the rollout cadence</p><div class="mt-2"><span class="text-brand-text-3 text-[9px] font-semibold uppercase tracking-[0.12em]">Corrected</span></div><p class="bg-brand-success-surface text-brand-success mt-1 rounded-lg px-2 py-1.5 text-[10px] font-medium leading-snug">we should discuss the rollout cadence again</p><div class="mt-2"><span class="text-brand-text-3 text-[9px] font-semibold uppercase tracking-[0.12em]">What changed</span></div><div class="border-brand-border-subtle text-brand-text-1 mt-1 border-l-2 pl-2 text-[10px] leading-snug"><p class="kr-diff"><span class="kr-diff-eq">we should </span><del class="kr-diff-del">to </del><span class="kr-diff-eq">discuss </span><del class="kr-diff-del">again about </del><span class="kr-diff-eq">the rollout cadence</span><ins class="kr-diff-ins"> again</ins></p></div></div><div class="flex pb-3 pt-1 justify-center"><span class="border-brand-border-subtle bg-brand-bg ring-brand-border-subtle inline-flex items-center gap-1 rounded-full px-2 py-1 shadow-lg ring-1"><span class="text-brand-text-3 inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-medium"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-languages h-3 w-3" aria-hidden="true"><path d="m5 8 6 6"></path><path d="m4 14 6-6 2-3"></path><path d="M2 5h12"></path><path d="M7 2h1"></path><path d="m22 22-5-10-5 10"></path><path d="M14 18h6"></path></svg>Translate</span><span class="bg-brand-surface-2 text-brand-text-1 inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-medium"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-3 w-3" aria-hidden="true"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg>Improve</span><span aria-hidden="true" class="bg-brand-border mx-1 h-4 w-px"></span><span class="text-brand-text-1 inline-flex items-center gap-1 text-[10px] font-semibold">Auto<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-repeat2 text-brand-text-3 h-3 w-3" aria-hidden="true"><path d="m2 9 3-3 3 3"></path><path d="M13 18H7a2 2 0 0 1-2-2V6"></path><path d="m22 15-3 3-3-3"></path><path d="M11 6h6a2 2 0 0 1 2 2v10"></path></svg>English<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down text-brand-text-3 h-2.5 w-2.5" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></span></span></div></div></div></div><span class="text-brand-text-3 absolute bottom-3 right-4 inline-flex items-center gap-1.5 text-[10px]"><span class="group-data-[scene=split]/stage:hidden group-data-[scene=window]/stage:hidden">Select, then press</span><span class="hidden group-data-[scene=split]/stage:inline group-data-[scene=window]/stage:inline">Or open the workbench with</span><span class="border-brand-border bg-brand-bg text-brand-text-2 inline-flex h-5 min-w-[20px] items-center justify-center rounded border px-1 font-mono text-[10px] leading-none shadow-sm">â¥</span><span class="hidden group-data-[scene=split]/stage:inline group-data-[scene=window]/stage:inline"><span class="border-brand-border bg-brand-bg text-brand-text-2 inline-flex h-5 min-w-[20px] items-center justify-center rounded border px-1 font-mono text-[10px] leading-none shadow-sm">â§</span></span><span class="border-brand-border bg-brand-bg text-brand-text-2 inline-flex h-5 min-w-[20px] items-center justify-center rounded border px-1 font-mono text-[10px] leading-none shadow-sm">D</span></span></div></div><div class=""><h3 class="text-brand-text-1 font-serif text-2xl font-medium leading-tight md:text-3xl">The toolbar comes to your text</h3><p class="text-brand-text-2 mt-4 text-base leading-relaxed md:text-lg md:leading-relaxed">Select in any Mac app â a chat window, a PDF, your mail client, your editor â and press â¥D. Translate, Improve, Save, C
2819opy and Speak, the same actions you already use in Chrome.</p></div></div><div class="flex flex-col py-12 md:py-20 min-h-[60vh] justify-center md:min-h-[70vh]"><div class="mb-6 md:hidden"><div aria-hidden="true" data-scene="bubble" class="border-brand-border-subtle bg-brand-surface-2 ring-brand-border-subtle group/stage relative w-full overflow-hidden rounded-xl border shadow-sm ring-1"><div class="border-brand-border-subtle bg-brand-bg flex items-center gap-3 border-b px-3 py-1.5"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-apple text-brand-text-2 h-3 w-3" aria-hidden="true"><path d="M12 20.94c1.5 0 2.75 1.06 4 1.06 3 0 6-8 6-12.22A4.91 4.91 0 0 0 17 5c-2.22 0-4 1.44-5 2-1-.56-2.78-2-5-2a4.9 4.9 0 0 0-5 4.78C2 14 5 22 8 22c1.25 0 2.5-1.06 4-1.06Z"></path><path d="M10 2c1 .5 2 2 2 5"></path></svg><span class="text-brand-text-1 text-[10px] font-semibold">Team Chat</span><span class="text-brand-text-3 hidden gap-3 text-[10px] sm:flex"><span>File</span><span>Edit</span><span>View</span></span><span class="ml-auto inline-flex items-center gap-2.5"><svg viewBox="314 423 1159 947" fill="currentColor" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4" role="img" aria-label="KeepReap"><defs><linearGradient id="krm-rf" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#F5A23E"></stop><stop offset="1" stop-color="#E3620B"></stop></linearGradient></defs> 2820<g transform="scale(1.0078431 1)"><path d="M407.077 423.744C454.055 419.645 499.592 453.121 510.437 498.827C514.448 515.731 513.5 535.845 513.518 553.28L513.543 609.641L513.494 810.679L584.363 810.714C616.791 810.723 644.986 813.222 675.933 802.119C702.761 792.335 726.315 775.235 743.928 752.759C779.326 708.065 780.761 668.342 780.735 614.973L780.686 550.174C780.676 524.927 779.513 506.899 790.93 483.376C802.791 458.921 823.929 440.217 849.646 431.419C858.433 428.491 867.565 426.721 876.811 426.156C893.686 425.052 920.364 425.871 937.863 425.904L1047.73 425.899L1144.94 425.884C1169.97 425.887 1194.79 425.113 1219.65 428.32C1249.77 432.191 1279.02 441.062 1306.22 454.568C1375.92 488.946 1429.18 549.49 1454.41 622.992C1479.84 697.011 1474.94 778.09 1440.75 848.501C1405.05 920.889 1346.52 970.784 1270.35 996.653C1284.39 1014.92 1302.94 1036.08 1317.9 1054.07L1403.79 1157.43L1439.17 1199.8C1445.42 1207.37 1453.95 1217.22 1458.93 1225.29C1465.84 1236.66 1470.34 1249.35 1472.12 1262.54C1475.61 1288.09 1468.63 1313.96 1452.76 1334.27C1438.02 1353.6 1416.21 1366.27 1392.12 1369.5C1332.71 1376.9 1305.13 1329.41 1271.8 1289.75L1169.1 1167.54L10
282055.8 1031.76L1019.41 988.194C1013.52 981.158 1004.39 970.915 999.336 963.625C991.72 952.759 987.047 940.1 985.782 926.898C983.428 905.684 989.753 884.418 1003.31 867.923C1018.01 849.91 1037.28 841.433 1060.03 839.239C1065.6 838.44 1083.9 838.831 1090.32 838.843L1141.36 838.968C1182.6 839.065 1214.24 837.328 1246.21 805.922C1269.65 782.879 1282.85 751.377 1282.82 718.505C1282.85 686.217 1271.38 654.229 1248.24 631.294C1233.74 616.845 1215.5 606.712 1195.58 602.023C1175.88 597.356 1132 598.993 1109.75 598.998L976.936 599.032C976.918 618.967 977.349 641.632 976.391 661.241C972.649 737.499 943.3 811.219 892.008 867.981C881.247 879.894 871.686 888.362 859.649 899.096C870.522 907.388 880.825 916.418 890.471 926.099C940.147 976.001 971.05 1041.54 977.937 1111.61C979.949 1132.03 979.422 1154.44 979.413 1175.1L979.44 1257.02C979.396 1290.63 975.206 1317.21 949.836 1342.21C930.888 1360.73 905.325 1370.92 878.831 1370.51C858.083 1370.3 837.933 1363.55 821.242 1351.24C802.312 1337.37 788.944 1317.21 783.544 1294.38C779.594 1277.81 780.66 1257.87 780.677 1240.61L780.771 1169.76C780.848 1112.93 779.63 1067.66 735.92 1023.59C712.125 999.28 680.696 983.881 646.9 979.981C630.953 978.303 609.192 978.883 592.729 978.883L513.725 978.847C513.056 1004.78 513.465 1032.01 513.474 1058.05L513.488 1192.87C513.496 1216.55 513.428 1240.29 513.44 1263.96C513.452 1290.39 508.447 1311.86 491.641 1332.87C475.342 1353.56 451.428 1366.87 425.245 1369.81C398.611 1372.99 371.816 1365.33 350.899 1348.54C330.32 1331.97 317.215 1307.87 314.502 1281.59C313.181 1268.11 313.761 1247.71 313.767 1233.58L313.8 1152.59L313.807 886.666L313.773 635.042L313.768 557.578C313.773 544.267 313.221 524.309 314.605 511.735C316.703 492.882 324.253 475.051 336.331 460.424C354.582 438.248 378.693 426.341 407.077 423.744Z" fill="url(#krm-rf)"></path></g> 2821</svg><span class="text-brand-text-3 font-mono text-[10px]">9:41</span></span></div><div class="relative px-4 py-5 sm:px-7 sm:py-6 min-h-[420px]"><div class="border-brand-border-subtle bg-brand-bg rounded-lg border shadow-sm transition-opacity duration-300 group-data-[scene=split]/stage:opacity-40 group-data-[scene=window]/stage:opacity-40 motion-reduce:transition-none"><div class="border-brand-border-subtle flex items-center gap-1.5 border-b px-3 py-2"><span class="bg-brand-border-subtle h-2 w-2 rounded-full" aria-hidden="true"></span><span class="bg-brand-border-subtle h-2 w-2 rounded-full" aria-hidden="true"></span><span class="bg-brand-border-subtle h-2 w-2 rounded-full" aria-hidden="true"></span><span class="text-brand-text-3 ml-2 truncate text-[10px]">#product-launch</span></div><div class="space-y-3 p-3.5"><div class="flex gap-2.5"><span aria-hidden="true" class="bg-brand-surface-2 border-brand-border-subtle mt-0.5 h-6 w-6 shrink-0 rounded-md border"></span><div class="min-w-0 flex-1"><p class="text-brand-text-1 text-[11px] font-semibold">Dana</p><div class="text-brand-text-2 mt-0.5 text-[11px] leading-relaxed">Pushed the copy changes â can someone check the release note?</div></div></div><div class="relative"><div class="flex gap-2.5"><span aria-hidden="true" class="bg-brand-surface-2 border-brand-border-subtle mt-0.5 h-6 w-6 shrink-0 rounded-md border"></span><div class="min-w-0 flex-1"><p class="text-brand-text-1 text-[11px] font-semibold">Priya</p><div class="text-brand-text-2 mt-0.5 text-[11px] leading-relaxed">Looks good, but <span class="bg-brand-warning-surface text-brand-text-1 rounded px-1 py-0.5">we should to discuss again about the rollout cadence</span> before Thursday.</div></div></div><div class="absolute left-9 top-full z-10 mt-2 flex flex-col items-start gap-1.5 transition-opacity duration-300 group-data-[scene=window]/stage:pointer-events-none group-data-[scene=window]/stage:opacity-0 group-data-[scene=split]/stage:pointer-events-none group-data-[scene=split]/stage:opacity-0 motion-reduce:transition-none"><span class="border-brand-border-subtle bg-brand-bg ring-brand-border-subtle inline-flex items-center gap-1 rounded-full py-1 pl-1.5 pr-2.5 shadow-lg ring-1"><span aria-hidden="true" class="text-brand-text-3 inline-flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-grip-vertical h-3 w-3"><circle cx="9" cy="12" r="1"></circle><circle cx="9" cy="5" r="1"></circle><circle cx="9" cy="19" r="1"></circle><circle cx="15" cy="12" r="1"></circle><circle cx="15" cy="5" r="1"></circle><circle cx="15" cy="19" r="1"></circle></svg></span><span aria-hidden="true" class="inline-flex items-center"><svg viewBox="314 423 1159 947" fill="currentColor" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4" role="img" aria-label="KeepReap"><defs><linearGradient id="krm-rg" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#F5A23E"></stop><stop offset="1" stop-color="#E3620B"></stop></linearGradient></defs> 2822<g transform="scale(1.0078431 1)"><path d="M407.077 423.744C454.055 419.645 499.592 453.121 510.437 498.827C514.448 515.731 513.5 535.845 513.518 553.28L513.543 609.641L513.494 810.679L584.363 810.714C616.791 810.723 644.986 813.222 675.933 802.119C702.761 792.335 726.315 775.235 743.928 752.759C779.326 708.065 780.761 668.342 780.735 614.973L780.686 550.174C780.676 524.927 779.513 506.899 790.93 483.376C802.791 458.921 823.929 440.217 849.646 431.419C858.433 428.491 867.565 426.721 876.811 426.156C893.686 425.052 920.364 425.871 937.863 425.904L1047.73 425.899L1144.94 425.884C1169.97 425.887 1194.79 425.113 1219.65 428.32C1249.77 432.191 1279.02 441.062 1306.22 454.568C1375.92 488.946 1429.18 549.49 1454.41 622.992C1479.84 697.011 1474.94 778.09 1440.75 848.501C1405.05 920.889 1346.52 970.784 1270.35 996.653C1284.39 1014.92 1302.94 1036.08 1317.9 1054.07L1403.79 1157.43L1439.17 1199.8C1445.42 1207.37 1453.95 1217.22 1458.93 1225.29C1465.84 1236.66 1470.34 1249.35 1472.12 1262.54C1475.61 1288.09 1468.63 1313.96 1452.76 1334.27C1438.02 1353.6 1416.21 1366.27 1392.12 1369.5C1332.71 1376.9 1305.13
28221329.41 1271.8 1289.75L1169.1 1167.54L1055.8 1031.76L1019.41 988.194C1013.52 981.158 1004.39 970.915 999.336 963.625C991.72 952.759 987.047 940.1 985.782 926.898C983.428 905.684 989.753 884.418 1003.31 867.923C1018.01 849.91 1037.28 841.433 1060.03 839.239C1065.6 838.44 1083.9 838.831 1090.32 838.843L1141.36 838.968C1182.6 839.065 1214.24 837.328 1246.21 805.922C1269.65 782.879 1282.85 751.377 1282.82 718.505C1282.85 686.217 1271.38 654.229 1248.24 631.294C1233.74 616.845 1215.5 606.712 1195.58 602.023C1175.88 597.356 1132 598.993 1109.75 598.998L976.936 599.032C976.918 618.967 977.349 641.632 976.391 661.241C972.649 737.499 943.3 811.219 892.008 867.981C881.247 879.894 871.686 888.362 859.649 899.096C870.522 907.388 880.825 916.418 890.471 926.099C940.147 976.001 971.05 1041.54 977.937 1111.61C979.949 1132.03 979.422 1154.44 979.413 1175.1L979.44 1257.02C979.396 1290.63 975.206 1317.21 949.836 1342.21C930.888 1360.73 905.325 1370.92 878.831 1370.51C858.083 1370.3 837.933 1363.55 821.242 1351.24C802.312 1337.37 788.944 1317.21 783.544 1294.38C779.594 1277.81 780.66 1257.87 780.677 1240.61L780.771 1169.76C780.848 1112.93 779.63 1067.66 735.92 1023.59C712.125 999.28 680.696 983.881 646.9 979.981C630.953 978.303 609.192 978.883 592.729 978.883L513.725 978.847C513.056 1004.78 513.465 1032.01 513.474 1058.05L513.488 1192.87C513.496 1216.55 513.428 1240.29 513.44 1263.96C513.452 1290.39 508.447 1311.86 491.641 1332.87C475.342 1353.56 451.428 1366.87 425.245 1369.81C398.611 1372.99 371.816 1365.33 350.899 1348.54C330.32 1331.97 317.215 1307.87 314.502 1281.59C313.181 1268.11 313.761 1247.71 313.767 1233.58L313.8 1152.59L313.807 886.666L313.773 635.042L313.768 557.578C313.773 544.267 313.221 524.309 314.605 511.735C316.703 492.882 324.253 475.051 336.331 460.424C354.582 438.248 378.693 426.341 407.077 423.744Z" fill="url(#krm-rg)"></path></g> 2823</svg></span><span aria-hidden="true" class="bg-brand-border mx-1 h-4 w-px"></span><span aria-hidden="true" class="text-brand-text-1 inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-medium"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-languages h-3 w-3 shrink-0"><path d="m5 8 6 6"></path><path d="m4 14 6-6 2-3"></path><path d="M2 5h12"></path><path d="M7 2h1"></path><path d="m22 22-5-10-5 10"></path><path d="M14 18h6"></path></svg>Translate</span><span aria-hidden="true" class="text-brand-text-1 inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-medium"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-3 w-3 shrink-0"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg>Improve</span><span aria-hidden="true" class="text-brand-text-1 inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-medium"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-save h-3 w-3 shrink-0"><path d="M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z"></path><path d="M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7"></path><path d="M7 3v4a1 1 0 0 0 1 1h7"></path></svg>Save</span><span aria-hidden="true" class="text-brand-text-1 inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-medium"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy h-3 w-3 shrink-0"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg>Copy</span><span aria-hidden="true" class="text-brand-text-1 inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-medium"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-volume2 h-3 w-3 shrink-0"><path d="M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z"></path><path d="M16 9a5 5 0 0 1 0 6"></path><path d="M19.364 18.364a9 9 0 0 0 0-12.728"></path></svg>Speak</span></span><span class="border-brand-border-subtle bg-brand-bg block w-[286px] overflow-hidden rounded-xl border shadow-xl origin-top scale-95 opacity-0 transition-[opacity,transform] duration-300 group-data-[scene=bubble]/stage:scale-100 group-data-[scene=bubble]/stage:opacity-100 motion-reduce:transition-none"><span class="border-brand-border-subtle relative flex items-center border-b px-2.5 py-1.5"><span class="text-brand-text-1 inline-flex items-center gap-1 text-[10px] font-semibold"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-3 w-3" aria-hidden="true"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg>Improve</span><span aria-hidden="true" class="text-brand-text-3 absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-grip-vertical h-3 w-3 rotate-90"><circle cx="9" cy="12" r="1"></circle><circle cx="9" cy="5" r="1"></circle><circle cx="9" cy="19" r="1"></circle><circle cx="15" cy="12" r="1"></circle><circle cx="15" cy="5" r="1"></circle><circle cx="15" cy="19" r="1"></circle></svg></span><span class="ml-auto inline-flex items-center gap-1.5"><span class="border-brand-border-subtle text-brand-text-3 rounded-full border px-1.5 py-px font-mono text-[8px]">9/10</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-pin-off text-brand-text-3 h-2.5 w-2.5" aria-hidden="true"><path d="M12 17v5"></path><path d="M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89"></path><path d="m2 2 20 20"></path><path d="M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-x text-brand-text-3 h-2.5 w-2.5" aria-hidden="true"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg></span></span><span class="block p-2.5"><div class="flex items-center gap-2"><span class="text-brand-text-3 text-[9px] font-semibold uppercase tracking-[0.12em]">Original</span><span class="kr-score kr-score--good" aria-label="Sentence score 7 out of 10" data-testid="score-badge"><span aria-hidden="true">ð</span><span class="kr-score-text">Good 7 / 10</span></span></div><p class="bg-brand-surface text-brand-text-2 mt-1 rounded-lg px-2 py-1.5 text-[10px] leading-snug">
2823we should to discuss again about the rollout cadence</p><div class="mt-2"><span class="text-brand-text-3 text-[9px] font-semibold uppercase tracking-[0.12em]">Corrected</span></div><p class="bg-brand-success-surface text-brand-success mt-1 rounded-lg px-2 py-1.5 text-[10px] font-medium leading-snug">we should discuss the rollout cadence again</p><div class="mt-2"><span class="text-brand-text-3 text-[9px] font-semibold uppercase tracking-[0.12em]">What changed</span></div><div class="border-brand-border-subtle text-brand-text-1 mt-1 border-l-2 pl-2 text-[10px] leading-snug"><p class="kr-diff"><span class="kr-diff-eq">we should </span><del class="kr-diff-del">to </del><span class="kr-diff-eq">discuss </span><del class="kr-diff-del">again about </del><span class="kr-diff-eq">the rollout cadence</span><ins class="kr-diff-ins"> again</ins></p></div></span></span></div></div></div></div><div class="absolute inset-x-8 top-[12%] z-20 sm:inset-x-16 pointer-events-none opacity-0 group-data-[scene=split]/stage:opacity-100 group-data-[scene=window]/stage:opacity-100"><div class="border-brand-border-subtle bg-brand-bg w-full overflow-hidden rounded-xl border shadow-2xl translate-y-3 opacity-0 transition-[opacity,transform] duration-300 group-data-[scene=window]/stage:translate-y-0 group-data-[scene=window]/stage:opacity-100 group-data-[scene=split]/stage:translate-y-0 group-data-[scene=split]/stage:opacity-100 motion-reduce:transition-none"><div class="flex items-center gap-2 px-3 py-2"><span class="inline-flex items-center gap-1.5" aria-hidden="true"><span class="bg-brand-border-subtle h-2 w-2 rounded-full"></span><span class="bg-brand-border-subtle h-2 w-2 rounded-full"></span><span class="bg-brand-border-subtle h-2 w-2 rounded-full"></span></span><span class="ml-auto inline-flex items-center gap-2"><span class="border-brand-border-subtle text-brand-text-3 rounded-full border px-1.5 py-px font-mono text-[9px]">9/10</span><span class="inline-flex h-5 w-5 items-center justify-center rounded-full transition-colors duration-300 motion-reduce:transition-none"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-columns2 h-3 w-3 text-brand-text-3" aria-hidden="true"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M12 3v18"></path></svg></span><span class="bg-brand-surface-2 inline-flex h-5 w-5 items-center justify-center rounded-full"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-pin-off text-brand-text-1 h-3 w-3 rotate-45" aria-hidden="true"><path d="M12 17v5"></path><path d="M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89"></path><path d="m2 2 20 20"></path><path d="M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11"></path></svg></span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings text-brand-text-3 h-3 w-3" aria-hidden="true"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg></span></div><div class="px-4"><p class="text-brand-text-1 text-[12px] leading-relaxed">we should to discuss again about the rollout cadence</p><p class="text-brand-text-3 mt-1 text-right font-mono text-[9px]">52 / 4000</p></div><div class="relative py-1"><span class="bg-brand-border-subtle block h-px w-full" aria-hidden="true"></span><span aria-hidden="true" class="bg-brand-border absolute left-1/2 top-1/2 h-1 w-8 -translate-x-1/2 -translate-y-1/2 roun
2823ded-full"></span></div><div class="px-4 pb-2 pt-2"><div class="flex items-center gap-2"><span class="text-brand-text-3 text-[9px] font-semibold uppercase tracking-[0.12em]">Original</span><span class="kr-score kr-score--good" aria-label="Sentence score 7 out of 10" data-testid="score-badge"><span aria-hidden="true">ð</span><span class="kr-score-text">Good 7 / 10</span></span></div><p class="bg-brand-surface text-brand-text-2 mt-1 rounded-lg px-2 py-1.5 text-[10px] leading-snug">we should to discuss again about the rollout cadence</p><div class="mt-2"><span class="text-brand-text-3 text-[9px] font-semibold uppercase tracking-[0.12em]">Corrected</span></div><p class="bg-brand-success-surface text-brand-success mt-1 rounded-lg px-2 py-1.5 text-[10px] font-medium leading-snug">we should discuss the rollout cadence again</p><div class="mt-2"><span class="text-brand-text-3 text-[9px] font-semibold uppercase tracking-[0.12em]">What changed</span></div><div class="border-brand-border-subtle text-brand-text-1 mt-1 border-l-2 pl-2 text-[10px] leading-snug"><p class="kr-diff"><span class="kr-diff-eq">we should </span><del class="kr-diff-del">to </del><span class="kr-diff-eq">discuss </span><del class="kr-diff-del">again about </del><span class="kr-diff-eq">the rollout cadence</span><ins class="kr-diff-ins"> again</ins></p></div></div><div class="flex pb-3 pt-1 justify-center"><span class="border-brand-border-subtle bg-brand-bg ring-brand-border-subtle inline-flex items-center gap-1 rounded-full px-2 py-1 shadow-lg ring-1"><span class="text-brand-text-3 inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-medium"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-languages h-3 w-3" aria-hidden="true"><path d="m5 8 6 6"></path><path d="m4 14 6-6 2-3"></path><path d="M2 5h12"></path><path d="M7 2h1"></path><path d="m22 22-5-10-5 10"></path><path d="M14 18h6"></path></svg>Translate</span><span class="bg-brand-surface-2 text-brand-text-1 inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-medium"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-3 w-3" aria-hidden="true"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg>Improve</span><span aria-hidden="true" class="bg-brand-border mx-1 h-4 w-px"></span><span class="text-brand-text-1 inline-flex items-center gap-1 text-[10px] font-semibold">Auto<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-repeat2 text-brand-text-3 h-3 w-3" aria-hidden="true"><path d="m2 9 3-3 3 3"></path><path d="M13 18H7a2 2 0 0 1-2-2V6"></path><path d="m22 15-3 3-3-3"></path><path d="M11 6h6a2 2 0 0 1 2 2v10"></path></svg>English<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down text-brand-text-3 h-2.5 w-2.5" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></span></span></div></div></div></div><span class="text-brand-text-3 absolute bottom-3 right-4 inline-flex items-center gap-1.5 text-[10px]"><span class="group-data-[scene=split]/stage:hidden group-data-[scene=window]/stage:hidden">Select, then press</span><span class="hidden group-data-[scene=split]/stage:inline group-data-[scene=window]/stage:inline">Or open the workbench with</span><span class="border-brand-border bg-brand-bg text-brand-text-2 inline-flex h-5 min-w-[20px] items-center justify-center rounded border px-1 font-mono text-[10px] leading-none shadow-sm">â¥</span><span class="hidden group-data-[scene=split]/stage:inline group-data-[scene=window]/stage:inline"><span class="border-brand-border bg-brand-bg text-brand-text-2 inline-flex h-5 min-w-[20px] items-center justify-center rounded border px-1 font-mono text-[10px] leading-none shadow-sm">â§</span></span><span class="border-brand-border bg-brand-bg text-brand-text-2 inline-flex h-5 min-w-[20px] items-center justify-center rounded border px-1 font-mono text-[10px] leading-none shadow-sm">D</span></span></div></div><div class=""><h3 class="text-brand-text-1 font-serif text-2xl font-medium leading-tight md:text-3xl">The answer opens where you are</h3><p class="text-brand-text-2 mt-4 text-base leading-relaxed md:text-lg md:leading-relaxed">No tab to switch to, nothing to paste. The result appears beside the sentence, and whatever you keep lands in the same Library as your browser captures â on the same review schedule.</p></div></div><div class="flex flex-col py-12 md:py-20 min-h-[60vh] justify-center md:min-h-[70vh]"><div class="mb-6 md:hidden"><div aria-hidden="true" data-scene="window" class="border-brand-border-subtle bg-brand-surface-2 ring-brand-border-subtle group/stage relative w-full overflow-hidden rounded-xl border shadow-sm ring-1"><div class="border-brand-border-subtle bg-brand-bg flex items-center gap-3 border-b px-3 py-1.5"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-apple text-brand-text-2 h-3 w-3" aria-hidden="true"><path d="M12 20.94c1.5 0 2.75 1.06 4 1.06 3 0 6-8 6-12.22A4.91 4.91 0 0 0 17 5c-2.22 0-4 1.44-5 2-1-.56-2.78-2-5-2a4.9 4.9 0 0 0-5 4.78C2 14 5 22 8 22c1.25 0 2.5-1.06 4-1.06Z"></path><path d="M10 2c1 .5 2 2 2 5"></path></svg><span class="text-brand-text-1 text-[10px] font-semibold">Team Chat</span><span class="text-brand-text-3 hidden gap-3 text-[10px] sm:flex"><span>File</span><span>Edit</span><span>View</span></span><span class="ml-auto inline-flex items-center gap-2.5"><svg viewBox="314 423 1159 947" fill="currentColor" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4" role="img" aria-label="KeepReap"><defs><linearGradient id="krm-rh" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#F5A23E"></stop><stop offset="1" stop-color="#E3620B"></stop></linearGradient></defs> 2824<g transform="scale(1.0078431 1)"><path d="M407.077 423.744C454.055 419.645 499.592 453.121 510.437 498.827C514.448 515.731 513.5 535.845 513.518 553.28L513.543 609.641L513.494 810.679L584.363 810.714C616.791 810.723 644.986 813.222 675.933 802.119C702.761 792.335 726.315 775.235 743.928 752.759C779.326 708.065 780.761 668.342 780.735 614.973L780.686 550.174C780.676 524.927 779.513 506.899 790.93 483.376C802.791 458.921 823.929 440.217 849.646 431.419C858.433 428.491 867.565 426.721 876.811 426.156C893.686 425.052 920.364 425.871 937.863 425.904L1047.73 425.899L1144.94 425.884C1169.97 425.887 1194.79 425.113 1219.65 428.32C1249.77 432.191 1279.02 441.062 1306.22 454.568C1375.92 488.946 1429.18 549.49 1454.41 622.992C1479.84 697.011 1474.94 778.09 1440.75 848.501C1405.05 920.889 1346.52 970.784 1270.35 996.653C1284.39 1014.92 1302.94 1036.08 1317.9 1054.07L1403.79 1157.43L1439.17 1199.8C1445.42 1207.37 1453.95 1217.22 1458.93 1225.29C1465.84 1236.66 1470.34 1249.35 1472.12 1262.54C1475.61 1288.09 1468.63 1313.96 1452.76 1334.27C1438.02 1353.6 1416.21 1366.27 1392.12 1369.5C1332.71 1376.9 1305.13
28241329.41 1271.8 1289.75L1169.1 1167.54L1055.8 1031.76L1019.41 988.194C1013.52 981.158 1004.39 970.915 999.336 963.625C991.72 952.759 987.047 940.1 985.782 926.898C983.428 905.684 989.753 884.418 1003.31 867.923C1018.01 849.91 1037.28 841.433 1060.03 839.239C1065.6 838.44 1083.9 838.831 1090.32 838.843L1141.36 838.968C1182.6 839.065 1214.24 837.328 1246.21 805.922C1269.65 782.879 1282.85 751.377 1282.82 718.505C1282.85 686.217 1271.38 654.229 1248.24 631.294C1233.74 616.845 1215.5 606.712 1195.58 602.023C1175.88 597.356 1132 598.993 1109.75 598.998L976.936 599.032C976.918 618.967 977.349 641.632 976.391 661.241C972.649 737.499 943.3 811.219 892.008 867.981C881.247 879.894 871.686 888.362 859.649 899.096C870.522 907.388 880.825 916.418 890.471 926.099C940.147 976.001 971.05 1041.54 977.937 1111.61C979.949 1132.03 979.422 1154.44 979.413 1175.1L979.44 1257.02C979.396 1290.63 975.206 1317.21 949.836 1342.21C930.888 1360.73 905.325 1370.92 878.831 1370.51C858.083 1370.3 837.933 1363.55 821.242 1351.24C802.312 1337.37 788.944 1317.21 783.544 1294.38C779.594 1277.81 780.66 1257.87 780.677 1240.61L780.771 1169.76C780.848 1112.93 779.63 1067.66 735.92 1023.59C712.125 999.28 680.696 983.881 646.9 979.981C630.953 978.303 609.192 978.883 592.729 978.883L513.725 978.847C513.056 1004.78 513.465 1032.01 513.474 1058.05L513.488 1192.87C513.496 1216.55 513.428 1240.29 513.44 1263.96C513.452 1290.39 508.447 1311.86 491.641 1332.87C475.342 1353.56 451.428 1366.87 425.245 1369.81C398.611 1372.99 371.816 1365.33 350.899 1348.54C330.32 1331.97 317.215 1307.87 314.502 1281.59C313.181 1268.11 313.761 1247.71 313.767 1233.58L313.8 1152.59L313.807 886.666L313.773 635.042L313.768 557.578C313.773 544.267 313.221 524.309 314.605 511.735C316.703 492.882 324.253 475.051 336.331 460.424C354.582 438.248 378.693 426.341 407.077 423.744Z" fill="url(#krm-rh)"></path></g> 2825</svg><span class="text-brand-text-3 font-mono text-[10px]">9:41</span></span></div><div class="relative px-4 py-5 sm:px-7 sm:py-6 min-h-[420px]"><div class="border-brand-border-subtle bg-brand-bg rounded-lg border shadow-sm transition-opacity duration-300 group-data-[scene=split]/stage:opacity-40 group-data-[scene=window]/stage:opacity-40 motion-reduce:transition-none"><div class="border-brand-border-subtle flex items-center gap-1.5 border-b px-3 py-2"><span class="bg-brand-border-subtle h-2 w-2 rounded-full" aria-hidden="true"></span><span class="bg-brand-border-subtle h-2 w-2 rounded-full" aria-hidden="true"></span><span class="bg-brand-border-subtle h-2 w-2 rounded-full" aria-hidden="true"></span><span class="text-brand-text-3 ml-2 truncate text-[10px]">#product-launch</span></div><div class="space-y-3 p-3.5"><div class="flex gap-2.5"><span aria-hidden="true" class="bg-brand-surface-2 border-brand-border-subtle mt-0.5 h-6 w-6 shrink-0 rounded-md border"></span><div class="min-w-0 flex-1"><p class="text-brand-text-1 text-[11px] font-semibold">Dana</p><div class="text-brand-text-2 mt-0.5 text-[11px] leading-relaxed">Pushed the copy changes â can someone check the release note?</div></div></div><div class="relative"><div class="flex gap-2.5"><span aria-hidden="true" class="bg-brand-surface-2 border-brand-border-subtle mt-0.5 h-6 w-6 shrink-0 rounded-md border"></span><div class="min-w-0 flex-1"><p class="text-brand-text-1 text-[11px] font-semibold">Priya</p><div class="text-brand-text-2 mt-0.5 text-[11px] leading-relaxed">Looks good, but <span class="bg-brand-warning-surface text-brand-text-1 rounded px-1 py-0.5">we should to discuss again about the rollout cadence</span> before Thursday.</div></div></div><div class="absolute left-9 top-full z-10 mt-2 flex flex-col items-start gap-1.5 transition-opacity duration-300 group-data-[scene=window]/stage:pointer-events-none group-data-[scene=window]/stage:opacity-0 group-data-[scene=split]/stage:pointer-events-none group-data-[scene=split]/stage:opacity-0 motion-reduce:transition-none"><span class="border-brand-border-subtle bg-brand-bg ring-brand-border-subtle inline-flex items-center gap-1 rounded-full py-1 pl-1.5 pr-2.5 shadow-lg ring-1"><span aria-hidden="true" class="text-brand-text-3 inline-flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-grip-vertical h-3 w-3"><circle cx="9" cy="12" r="1"></circle><circle cx="9" cy="5" r="1"></circle><circle cx="9" cy="19" r="1"></circle><circle cx="15" cy="12" r="1"></circle><circle cx="15" cy="5" r="1"></circle><circle cx="15" cy="19" r="1"></circle></svg></span><span aria-hidden="true" class="inline-flex items-center"><svg viewBox="314 423 1159 947" fill="currentColor" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4" role="img" aria-label="KeepReap"><defs><linearGradient id="krm-ri" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#F5A23E"></stop><stop offset="1" stop-color="#E3620B"></stop></linearGradient></defs> 2826<g transform="scale(1.0078431 1)"><path d="M407.077 423.744C454.055 419.645 499.592 453.121 510.437 498.827C514.448 515.731 513.5 535.845 513.518 553.28L513.543 609.641L513.494 810.679L584.363 810.714C616.791 810.723 644.986 813.222 675.933 802.119C702.761 792.335 726.315 775.235 743.928 752.759C779.326 708.065 780.761 668.342 780.735 614.973L780.686 550.174C780.676 524.927 779.513 506.899 790.93 483.376C802.791 458.921 823.929 440.217 849.646 431.419C858.433 428.491 867.565 426.721 876.811 426.156C893.686 425.052 920.364 425.871 937.863 425.904L1047.73 425.899L1144.94 425.884C1169.97 425.887 1194.79 425.113 1219.65 428.32C1249.77 432.191 1279.02 441.062 1306.22 454.568C1375.92 488.946 1429.18 549.49 1454.41 622.992C1479.84 697.011 1474.94 778.09 1440.75 848.501C1405.05 920.889 1346.52 970.784 1270.35 996.653C1284.39 1014.92 1302.94 1036.08 1317.9 1054.07L1403.79 1157.43L1439.17 1199.8C1445.42 1207.37 1453.95 1217.22 1458.93 1225.29C1465.84 1236.66 1470.34 1249.35 1472.12 1262.54C1475.61 1288.09 1468.63 1313.96 1452.76 1334.27C1438.02 1353.6 1416.21 1366.27 1392.12 1369.5C1332.71 1376.9 1305.13
28261329.41 1271.8 1289.75L1169.1 1167.54L1055.8 1031.76L1019.41 988.194C1013.52 981.158 1004.39 970.915 999.336 963.625C991.72 952.759 987.047 940.1 985.782 926.898C983.428 905.684 989.753 884.418 1003.31 867.923C1018.01 849.91 1037.28 841.433 1060.03 839.239C1065.6 838.44 1083.9 838.831 1090.32 838.843L1141.36 838.968C1182.6 839.065 1214.24 837.328 1246.21 805.922C1269.65 782.879 1282.85 751.377 1282.82 718.505C1282.85 686.217 1271.38 654.229 1248.24 631.294C1233.74 616.845 1215.5 606.712 1195.58 602.023C1175.88 597.356 1132 598.993 1109.75 598.998L976.936 599.032C976.918 618.967 977.349 641.632 976.391 661.241C972.649 737.499 943.3 811.219 892.008 867.981C881.247 879.894 871.686 888.362 859.649 899.096C870.522 907.388 880.825 916.418 890.471 926.099C940.147 976.001 971.05 1041.54 977.937 1111.61C979.949 1132.03 979.422 1154.44 979.413 1175.1L979.44 1257.02C979.396 1290.63 975.206 1317.21 949.836 1342.21C930.888 1360.73 905.325 1370.92 878.831 1370.51C858.083 1370.3 837.933 1363.55 821.242 1351.24C802.312 1337.37 788.944 1317.21 783.544 1294.38C779.594 1277.81 780.66 1257.87 780.677 1240.61L780.771 1169.76C780.848 1112.93 779.63 1067.66 735.92 1023.59C712.125 999.28 680.696 983.881 646.9 979.981C630.953 978.303 609.192 978.883 592.729 978.883L513.725 978.847C513.056 1004.78 513.465 1032.01 513.474 1058.05L513.488 1192.87C513.496 1216.55 513.428 1240.29 513.44 1263.96C513.452 1290.39 508.447 1311.86 491.641 1332.87C475.342 1353.56 451.428 1366.87 425.245 1369.81C398.611 1372.99 371.816 1365.33 350.899 1348.54C330.32 1331.97 317.215 1307.87 314.502 1281.59C313.181 1268.11 313.761 1247.71 313.767 1233.58L313.8 1152.59L313.807 886.666L313.773 635.042L313.768 557.578C313.773 544.267 313.221 524.309 314.605 511.735C316.703 492.882 324.253 475.051 336.331 460.424C354.582 438.248 378.693 426.341 407.077 423.744Z" fill="url(#krm-ri)"></path></g> 2827</svg></span><span aria-hidden="true" class="bg-brand-border mx-1 h-4 w-px"></span><span aria-hidden="true" class="text-brand-text-1 inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-medium"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-languages h-3 w-3 shrink-0"><path d="m5 8 6 6"></path><path d="m4 14 6-6 2-3"></path><path d="M2 5h12"></path><path d="M7 2h1"></path><path d="m22 22-5-10-5 10"></path><path d="M14 18h6"></path></svg>Translate</span><span aria-hidden="true" class="text-brand-text-1 inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-medium"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-3 w-3 shrink-0"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg>Improve</span><span aria-hidden="true" class="text-brand-text-1 inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-medium"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-save h-3 w-3 shrink-0"><path d="M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z"></path><path d="M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7"></path><path d="M7 3v4a1 1 0 0 0 1 1h7"></path></svg>Save</span><span aria-hidden="true" class="text-brand-text-1 inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-medium"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy h-3 w-3 shrink-0"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg>Copy</span><span aria-hidden="true" class="text-brand-text-1 inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-medium"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-volume2 h-3 w-3 shrink-0"><path d="M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z"></path><path d="M16 9a5 5 0 0 1 0 6"></path><path d="M19.364 18.364a9 9 0 0 0 0-12.728"></path></svg>Speak</span></span><span class="border-brand-border-subtle bg-brand-bg block w-[286px] overflow-hidden rounded-xl border shadow-xl origin-top scale-95 opacity-0 transition-[opacity,transform] duration-300 group-data-[scene=bubble]/stage:scale-100 group-data-[scene=bubble]/stage:opacity-100 motion-reduce:transition-none"><span class="border-brand-border-subtle relative flex items-center border-b px-2.5 py-1.5"><span class="text-brand-text-1 inline-flex items-center gap-1 text-[10px] font-semibold"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-3 w-3" aria-hidden="true"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg>Improve</span><span aria-hidden="true" class="text-brand-text-3 absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-grip-vertical h-3 w-3 rotate-90"><circle cx="9" cy="12" r="1"></circle><circle cx="9" cy="5" r="1"></circle><circle cx="9" cy="19" r="1"></circle><circle cx="15" cy="12" r="1"></circle><circle cx="15" cy="5" r="1"></circle><circle cx="15" cy="19" r="1"></circle></svg></span><span class="ml-auto inline-flex items-center gap-1.5"><span class="border-brand-border-subtle text-brand-text-3 rounded-full border px-1.5 py-px font-mono text-[8px]">9/10</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-pin-off text-brand-text-3 h-2.5 w-2.5" aria-hidden="true"><path d="M12 17v5"></path><path d="M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89"></path><path d="m2 2 20 20"></path><path d="M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-x text-brand-text-3 h-2.5 w-2.5" aria-hidden="true"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg></span></span><span class="block p-2.5"><div class="flex items-center gap-2"><span class="text-brand-text-3 text-[9px] font-semibold uppercase tracking-[0.12em]">Original</span><span class="kr-score kr-score--good" aria-label="Sentence score 7 out of 10" data-testid="score-badge"><span aria-hidden="true">ð</span><span class="kr-score-text">Good 7 / 10</span></span></div><p class="bg-brand-surface text-brand-text-2 mt-1 rounded-lg px-2 py-1.5 text-[10px] leading-snug">
2827we should to discuss again about the rollout cadence</p><div class="mt-2"><span class="text-brand-text-3 text-[9px] font-semibold uppercase tracking-[0.12em]">Corrected</span></div><p class="bg-brand-success-surface text-brand-success mt-1 rounded-lg px-2 py-1.5 text-[10px] font-medium leading-snug">we should discuss the rollout cadence again</p><div class="mt-2"><span class="text-brand-text-3 text-[9px] font-semibold uppercase tracking-[0.12em]">What changed</span></div><div class="border-brand-border-subtle text-brand-text-1 mt-1 border-l-2 pl-2 text-[10px] leading-snug"><p class="kr-diff"><span class="kr-diff-eq">we should </span><del class="kr-diff-del">to </del><span class="kr-diff-eq">discuss </span><del class="kr-diff-del">again about </del><span class="kr-diff-eq">the rollout cadence</span><ins class="kr-diff-ins"> again</ins></p></div></span></span></div></div></div></div><div class="absolute inset-x-8 top-[12%] z-20 sm:inset-x-16 pointer-events-none opacity-0 group-data-[scene=split]/stage:opacity-100 group-data-[scene=window]/stage:opacity-100"><div class="border-brand-border-subtle bg-brand-bg w-full overflow-hidden rounded-xl border shadow-2xl translate-y-3 opacity-0 transition-[opacity,transform] duration-300 group-data-[scene=window]/stage:translate-y-0 group-data-[scene=window]/stage:opacity-100 group-data-[scene=split]/stage:translate-y-0 group-data-[scene=split]/stage:opacity-100 motion-reduce:transition-none"><div class="flex items-center gap-2 px-3 py-2"><span class="inline-flex items-center gap-1.5" aria-hidden="true"><span class="bg-brand-border-subtle h-2 w-2 rounded-full"></span><span class="bg-brand-border-subtle h-2 w-2 rounded-full"></span><span class="bg-brand-border-subtle h-2 w-2 rounded-full"></span></span><span class="ml-auto inline-flex items-center gap-2"><span class="border-brand-border-subtle text-brand-text-3 rounded-full border px-1.5 py-px font-mono text-[9px]">9/10</span><span class="inline-flex h-5 w-5 items-center justify-center rounded-full transition-colors duration-300 motion-reduce:transition-none"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-columns2 h-3 w-3 text-brand-text-3" aria-hidden="true"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M12 3v18"></path></svg></span><span class="bg-brand-surface-2 inline-flex h-5 w-5 items-center justify-center rounded-full"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-pin-off text-brand-text-1 h-3 w-3 rotate-45" aria-hidden="true"><path d="M12 17v5"></path><path d="M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89"></path><path d="m2 2 20 20"></path><path d="M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11"></path></svg></span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings text-brand-text-3 h-3 w-3" aria-hidden="true"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg></span></div><div class="px-4"><p class="text-brand-text-1 text-[12px] leading-relaxed">we should to discuss again about the rollout cadence</p><p class="text-brand-text-3 mt-1 text-right font-mono text-[9px]">52 / 4000</p></div><div class="relative py-1"><span class="bg-brand-border-subtle block h-px w-full" aria-hidden="true"></span><span aria-hidden="true" class="bg-brand-border absolute left-1/2 top-1/2 h-1 w-8 -translate-x-1/2 -translate-y-1/2 roun
2827ded-full"></span></div><div class="px-4 pb-2 pt-2"><div class="flex items-center gap-2"><span class="text-brand-text-3 text-[9px] font-semibold uppercase tracking-[0.12em]">Original</span><span class="kr-score kr-score--good" aria-label="Sentence score 7 out of 10" data-testid="score-badge"><span aria-hidden="true">ð</span><span class="kr-score-text">Good 7 / 10</span></span></div><p class="bg-brand-surface text-brand-text-2 mt-1 rounded-lg px-2 py-1.5 text-[10px] leading-snug">we should to discuss again about the rollout cadence</p><div class="mt-2"><span class="text-brand-text-3 text-[9px] font-semibold uppercase tracking-[0.12em]">Corrected</span></div><p class="bg-brand-success-surface text-brand-success mt-1 rounded-lg px-2 py-1.5 text-[10px] font-medium leading-snug">we should discuss the rollout cadence again</p><div class="mt-2"><span class="text-brand-text-3 text-[9px] font-semibold uppercase tracking-[0.12em]">What changed</span></div><div class="border-brand-border-subtle text-brand-text-1 mt-1 border-l-2 pl-2 text-[10px] leading-snug"><p class="kr-diff"><span class="kr-diff-eq">we should </span><del class="kr-diff-del">to </del><span class="kr-diff-eq">discuss </span><del class="kr-diff-del">again about </del><span class="kr-diff-eq">the rollout cadence</span><ins class="kr-diff-ins"> again</ins></p></div></div><div class="flex pb-3 pt-1 justify-center"><span class="border-brand-border-subtle bg-brand-bg ring-brand-border-subtle inline-flex items-center gap-1 rounded-full px-2 py-1 shadow-lg ring-1"><span class="text-brand-text-3 inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-medium"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-languages h-3 w-3" aria-hidden="true"><path d="m5 8 6 6"></path><path d="m4 14 6-6 2-3"></path><path d="M2 5h12"></path><path d="M7 2h1"></path><path d="m22 22-5-10-5 10"></path><path d="M14 18h6"></path></svg>Translate</span><span class="bg-brand-surface-2 text-brand-text-1 inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-medium"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-3 w-3" aria-hidden="true"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg>Improve</span><span aria-hidden="true" class="bg-brand-border mx-1 h-4 w-px"></span><span class="text-brand-text-1 inline-flex items-center gap-1 text-[10px] font-semibold">Auto<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-repeat2 text-brand-text-3 h-3 w-3" aria-hidden="true"><path d="m2 9 3-3 3 3"></path><path d="M13 18H7a2 2 0 0 1-2-2V6"></path><path d="m22 15-3 3-3-3"></path><path d="M11 6h6a2 2 0 0 1 2 2v10"></path></svg>English<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down text-brand-text-3 h-2.5 w-2.5" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></span></span></div></div></div></div><span class="text-brand-text-3 absolute bottom-3 right-4 inline-flex items-center gap-1.5 text-[10px]"><span class="group-data-[scene=split]/stage:hidden group-data-[scene=window]/stage:hidden">Select, then press</span><span class="hidden group-data-[scene=split]/stage:inline group-data-[scene=window]/stage:inline">Or open the workbench with</span><span class="border-brand-border bg-brand-bg text-brand-text-2 inline-flex h-5 min-w-[20px] items-center justify-center rounded border px-1 font-mono text-[10px] leading-none shadow-sm">â¥</span><span class="hidden group-data-[scene=split]/stage:inline group-data-[scene=window]/stage:inline"><span class="border-brand-border bg-brand-bg text-brand-text-2 inline-flex h-5 min-w-[20px] items-center justify-center rounded border px-1 font-mono text-[10px] leading-none shadow-sm">â§</span></span><span class="border-brand-border bg-brand-bg text-brand-text-2 inline-flex h-5 min-w-[20px] items-center justify-center rounded border px-1 font-mono text-[10px] leading-none shadow-sm">D</span></span></div></div><div class=""><h3 class="text-brand-text-1 font-serif text-2xl font-medium leading-tight md:text-3xl">A workbench when one line isn't enough</h3><p class="text-brand-text-2 mt-4 text-base leading-relaxed md:text-lg md:leading-relaxed">â¥â§D opens a resizable window that floats above whatever you are reading, so it never falls behind. On macOS 15 and later it also translates on-device â free, offline, no credits.</p></div></div><div class="flex flex-col py-12 md:py-20 min-h-[60vh] justify-center md:min-h-[150vh] md:justify-start"><div class="mb-6 md:hidden"><div aria-hidden="true" data-scene="split" class="border-brand-border-subtle bg-brand-surface-2 ring-brand-border-subtle group/stage relative w-full overflow-hidden rounded-xl border shadow-sm ring-1"><div class="border-brand-border-subtle bg-brand-bg flex items-center gap-3 border-b px-3 py-1.5"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-apple text-brand-text-2 h-3 w-3" aria-hidden="true"><path d="M12 20.94c1.5 0 2.75 1.06 4 1.06 3 0 6-8 6-12.22A4.91 4.91 0 0 0 17 5c-2.22 0-4 1.44-5 2-1-.56-2.78-2-5-2a4.9 4.9 0 0 0-5 4.78C2 14 5 22 8 22c1.25 0 2.5-1.06 4-1.06Z"></path><path d="M10 2c1 .5 2 2 2 5"></path></svg><span class="text-brand-text-1 text-[10px] font-semibold">Team Chat</span><span class="text-brand-text-3 hidden gap-3 text-[10px] sm:flex"><span>File</span><span>Edit</span><span>View</span></span><span class="ml-auto inline-flex items-center gap-2.5"><svg viewBox="314 423 1159 947" fill="currentColor" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4" role="img" aria-label="KeepReap"><defs><linearGradient id="krm-rj" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#F5A23E"></stop><stop offset="1" stop-color="#E3620B"></stop></linearGradient></defs> 2828<g transform="scale(1.0078431 1)"><path d="M407.077 423.744C454.055 419.645 499.592 453.121 510.437 498.827C514.448 515.731 513.5 535.845 513.518 553.28L513.543 609.641L513.494 810.679L584.363 810.714C616.791 810.723 644.986 813.222 675.933 802.119C702.761 792.335 726.315 775.235 743.928 752.759C779.326 708.065 780.761 668.342 780.735 614.973L780.686 550.174C780.676 524.927 779.513 506.899 790.93 483.376C802.791 458.921 823.929 440.217 849.646 431.419C858.433 428.491 867.565 426.721 876.811 426.156C893.686 425.052 920.364 425.871 937.863 425.904L1047.73 425.899L1144.94 425.884C1169.97 425.887 1194.79 425.113 1219.65 428.32C1249.77 432.191 1279.02 441.062 1306.22 454.568C1375.92 488.946 1429.18 549.49 1454.41 622.992C1479.84 697.011 1474.94 778.09 1440.75 848.501C1405.05 920.889 1346.52 970.784 1270.35 996.653C1284.39 1014.92 1302.94 1036.08 1317.9 1054.07L1403.79 1157.43L1439.17 1199.8C1445.42 1207.37 1453.95 1217.22 1458.93 1225.29C1465.84 1236.66 1470.34 1249.35 1472.12 1262.54C1475.61 1288.09 1468.63 1313.96 1452.76 1334.27C1438.02 1353.6 1416.21 1366.27 1392.12 1369.5C1332.71 1376.9 1305.13
28281329.41 1271.8 1289.75L1169.1 1167.54L1055.8 1031.76L1019.41 988.194C1013.52 981.158 1004.39 970.915 999.336 963.625C991.72 952.759 987.047 940.1 985.782 926.898C983.428 905.684 989.753 884.418 1003.31 867.923C1018.01 849.91 1037.28 841.433 1060.03 839.239C1065.6 838.44 1083.9 838.831 1090.32 838.843L1141.36 838.968C1182.6 839.065 1214.24 837.328 1246.21 805.922C1269.65 782.879 1282.85 751.377 1282.82 718.505C1282.85 686.217 1271.38 654.229 1248.24 631.294C1233.74 616.845 1215.5 606.712 1195.58 602.023C1175.88 597.356 1132 598.993 1109.75 598.998L976.936 599.032C976.918 618.967 977.349 641.632 976.391 661.241C972.649 737.499 943.3 811.219 892.008 867.981C881.247 879.894 871.686 888.362 859.649 899.096C870.522 907.388 880.825 916.418 890.471 926.099C940.147 976.001 971.05 1041.54 977.937 1111.61C979.949 1132.03 979.422 1154.44 979.413 1175.1L979.44 1257.02C979.396 1290.63 975.206 1317.21 949.836 1342.21C930.888 1360.73 905.325 1370.92 878.831 1370.51C858.083 1370.3 837.933 1363.55 821.242 1351.24C802.312 1337.37 788.944 1317.21 783.544 1294.38C779.594 1277.81 780.66 1257.87 780.677 1240.61L780.771 1169.76C780.848 1112.93 779.63 1067.66 735.92 1023.59C712.125 999.28 680.696 983.881 646.9 979.981C630.953 978.303 609.192 978.883 592.729 978.883L513.725 978.847C513.056 1004.78 513.465 1032.01 513.474 1058.05L513.488 1192.87C513.496 1216.55 513.428 1240.29 513.44 1263.96C513.452 1290.39 508.447 1311.86 491.641 1332.87C475.342 1353.56 451.428 1366.87 425.245 1369.81C398.611 1372.99 371.816 1365.33 350.899 1348.54C330.32 1331.97 317.215 1307.87 314.502 1281.59C313.181 1268.11 313.761 1247.71 313.767 1233.58L313.8 1152.59L313.807 886.666L313.773 635.042L313.768 557.578C313.773 544.267 313.221 524.309 314.605 511.735C316.703 492.882 324.253 475.051 336.331 460.424C354.582 438.248 378.693 426.341 407.077 423.744Z" fill="url(#krm-rj)"></path></g> 2829</svg><span class="text-brand-text-3 font-mono text-[10px]">9:41</span></span></div><div class="relative px-4 py-5 sm:px-7 sm:py-6 min-h-[420px]"><div class="border-brand-border-subtle bg-brand-bg rounded-lg border shadow-sm transition-opacity duration-300 group-data-[scene=split]/stage:opacity-40 group-data-[scene=window]/stage:opacity-40 motion-reduce:transition-none"><div class="border-brand-border-subtle flex items-center gap-1.5 border-b px-3 py-2"><span class="bg-brand-border-subtle h-2 w-2 rounded-full" aria-hidden="true"></span><span class="bg-brand-border-subtle h-2 w-2 rounded-full" aria-hidden="true"></span><span class="bg-brand-border-subtle h-2 w-2 rounded-full" aria-hidden="true"></span><span class="text-brand-text-3 ml-2 truncate text-[10px]">#product-launch</span></div><div class="space-y-3 p-3.5"><div class="flex gap-2.5"><span aria-hidden="true" class="bg-brand-surface-2 border-brand-border-subtle mt-0.5 h-6 w-6 shrink-0 rounded-md border"></span><div class="min-w-0 flex-1"><p class="text-brand-text-1 text-[11px] font-semibold">Dana</p><div class="text-brand-text-2 mt-0.5 text-[11px] leading-relaxed">Pushed the copy changes â can someone check the release note?</div></div></div><div class="relative"><div class="flex gap-2.5"><span aria-hidden="true" class="bg-brand-surface-2 border-brand-border-subtle mt-0.5 h-6 w-6 shrink-0 rounded-md border"></span><div class="min-w-0 flex-1"><p class="text-brand-text-1 text-[11px] font-semibold">Priya</p><div class="text-brand-text-2 mt-0.5 text-[11px] leading-relaxed">Looks good, but <span class="bg-brand-warning-surface text-brand-text-1 rounded px-1 py-0.5">we should to discuss again about the rollout cadence</span> before Thursday.</div></div></div><div class="absolute left-9 top-full z-10 mt-2 flex flex-col items-start gap-1.5 transition-opacity duration-300 group-data-[scene=window]/stage:pointer-events-none group-data-[scene=window]/stage:opacity-0 group-data-[scene=split]/stage:pointer-events-none group-data-[scene=split]/stage:opacity-0 motion-reduce:transition-none"><span class="border-brand-border-subtle bg-brand-bg ring-brand-border-subtle inline-flex items-center gap-1 rounded-full py-1 pl-1.5 pr-2.5 shadow-lg ring-1"><span aria-hidden="true" class="text-brand-text-3 inline-flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-grip-vertical h-3 w-3"><circle cx="9" cy="12" r="1"></circle><circle cx="9" cy="5" r="1"></circle><circle cx="9" cy="19" r="1"></circle><circle cx="15" cy="12" r="1"></circle><circle cx="15" cy="5" r="1"></circle><circle cx="15" cy="19" r="1"></circle></svg></span><span aria-hidden="true" class="inline-flex items-center"><svg viewBox="314 423 1159 947" fill="currentColor" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4" role="img" aria-label="KeepReap"><defs><linearGradient id="krm-rk" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#F5A23E"></stop><stop offset="1" stop-color="#E3620B"></stop></linearGradient></defs> 2830<g transform="scale(1.0078431 1)"><path d="M407.077 423.744C454.055 419.645 499.592 453.121 510.437 498.827C514.448 515.731 513.5 535.845 513.518 553.28L513.543 609.641L513.494 810.679L584.363 810.714C616.791 810.723 644.986 813.222 675.933 802.119C702.761 792.335 726.315 775.235 743.928 752.759C779.326 708.065 780.761 668.342 780.735 614.973L780.686 550.174C780.676 524.927 779.513 506.899 790.93 483.376C802.791 458.921 823.929 440.217 849.646 431.419C858.433 428.491 867.565 426.721 876.811 426.156C893.686 425.052 920.364 425.871 937.863 425.904L1047.73 425.899L1144.94 425.884C1169.97 425.887 1194.79 425.113 1219.65 428.32C1249.77 432.191 1279.02 441.062 1306.22 454.568C1375.92 488.946 1429.18 549.49 1454.41 622.992C1479.84 697.011 1474.94 778.09 1440.75 848.501C1405.05 920.889 1346.52 970.784 1270.35 996.653C1284.39 1014.92 1302.94 1036.08 1317.9 1054.07L1403.79 1157.43L1439.17 1199.8C1445.42 1207.37 1453.95 1217.22 1458.93 1225.29C1465.84 1236.66 1470.34 1249.35 1472.12 1262.54C1475.61 1288.09 1468.63 1313.96 1452.76 1334.27C1438.02 1353.6 1416.21 1366.27 1392.12 1369.5C1332.71 1376.9 1305.13
28301329.41 1271.8 1289.75L1169.1 1167.54L1055.8 1031.76L1019.41 988.194C1013.52 981.158 1004.39 970.915 999.336 963.625C991.72 952.759 987.047 940.1 985.782 926.898C983.428 905.684 989.753 884.418 1003.31 867.923C1018.01 849.91 1037.28 841.433 1060.03 839.239C1065.6 838.44 1083.9 838.831 1090.32 838.843L1141.36 838.968C1182.6 839.065 1214.24 837.328 1246.21 805.922C1269.65 782.879 1282.85 751.377 1282.82 718.505C1282.85 686.217 1271.38 654.229 1248.24 631.294C1233.74 616.845 1215.5 606.712 1195.58 602.023C1175.88 597.356 1132 598.993 1109.75 598.998L976.936 599.032C976.918 618.967 977.349 641.632 976.391 661.241C972.649 737.499 943.3 811.219 892.008 867.981C881.247 879.894 871.686 888.362 859.649 899.096C870.522 907.388 880.825 916.418 890.471 926.099C940.147 976.001 971.05 1041.54 977.937 1111.61C979.949 1132.03 979.422 1154.44 979.413 1175.1L979.44 1257.02C979.396 1290.63 975.206 1317.21 949.836 1342.21C930.888 1360.73 905.325 1370.92 878.831 1370.51C858.083 1370.3 837.933 1363.55 821.242 1351.24C802.312 1337.37 788.944 1317.21 783.544 1294.38C779.594 1277.81 780.66 1257.87 780.677 1240.61L780.771 1169.76C780.848 1112.93 779.63 1067.66 735.92 1023.59C712.125 999.28 680.696 983.881 646.9 979.981C630.953 978.303 609.192 978.883 592.729 978.883L513.725 978.847C513.056 1004.78 513.465 1032.01 513.474 1058.05L513.488 1192.87C513.496 1216.55 513.428 1240.29 513.44 1263.96C513.452 1290.39 508.447 1311.86 491.641 1332.87C475.342 1353.56 451.428 1366.87 425.245 1369.81C398.611 1372.99 371.816 1365.33 350.899 1348.54C330.32 1331.97 317.215 1307.87 314.502 1281.59C313.181 1268.11 313.761 1247.71 313.767 1233.58L313.8 1152.59L313.807 886.666L313.773 635.042L313.768 557.578C313.773 544.267 313.221 524.309 314.605 511.735C316.703 492.882 324.253 475.051 336.331 460.424C354.582 438.248 378.693 426.341 407.077 423.744Z" fill="url(#krm-rk)"></path></g> 2831</svg></span><span aria-hidden="true" class="bg-brand-border mx-1 h-4 w-px"></span><span aria-hidden="true" class="text-brand-text-1 inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-medium"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-languages h-3 w-3 shrink-0"><path d="m5 8 6 6"></path><path d="m4 14 6-6 2-3"></path><path d="M2 5h12"></path><path d="M7 2h1"></path><path d="m22 22-5-10-5 10"></path><path d="M14 18h6"></path></svg>Translate</span><span aria-hidden="true" class="text-brand-text-1 inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-medium"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-3 w-3 shrink-0"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg>Improve</span><span aria-hidden="true" class="text-brand-text-1 inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-medium"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-save h-3 w-3 shrink-0"><path d="M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z"></path><path d="M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7"></path><path d="M7 3v4a1 1 0 0 0 1 1h7"></path></svg>Save</span><span aria-hidden="true" class="text-brand-text-1 inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-medium"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy h-3 w-3 shrink-0"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg>Copy</span><span aria-hidden="true" class="text-brand-text-1 inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-medium"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-volume2 h-3 w-3 shrink-0"><path d="M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z"></path><path d="M16 9a5 5 0 0 1 0 6"></path><path d="M19.364 18.364a9 9 0 0 0 0-12.728"></path></svg>Speak</span></span><span class="border-brand-border-subtle bg-brand-bg block w-[286px] overflow-hidden rounded-xl border shadow-xl origin-top scale-95 opacity-0 transition-[opacity,transform] duration-300 group-data-[scene=bubble]/stage:scale-100 group-data-[scene=bubble]/stage:opacity-100 motion-reduce:transition-none"><span class="border-brand-border-subtle relative flex items-center border-b px-2.5 py-1.5"><span class="text-brand-text-1 inline-flex items-center gap-1 text-[10px] font-semibold"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-3 w-3" aria-hidden="true"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg>Improve</span><span aria-hidden="true" class="text-brand-text-3 absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-grip-vertical h-3 w-3 rotate-90"><circle cx="9" cy="12" r="1"></circle><circle cx="9" cy="5" r="1"></circle><circle cx="9" cy="19" r="1"></circle><circle cx="15" cy="12" r="1"></circle><circle cx="15" cy="5" r="1"></circle><circle cx="15" cy="19" r="1"></circle></svg></span><span class="ml-auto inline-flex items-center gap-1.5"><span class="border-brand-border-subtle text-brand-text-3 rounded-full border px-1.5 py-px font-mono text-[8px]">9/10</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-pin-off text-brand-text-3 h-2.5 w-2.5" aria-hidden="true"><path d="M12 17v5"></path><path d="M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89"></path><path d="m2 2 20 20"></path><path d="M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-x text-brand-text-3 h-2.5 w-2.5" aria-hidden="true"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg></span></span><span class="block p-2.5"><div class="flex items-center gap-2"><span class="text-brand-text-3 text-[9px] font-semibold uppercase tracking-[0.12em]">Original</span><span class="kr-score kr-score--good" aria-label="Sentence score 7 out of 10" data-testid="score-badge"><span aria-hidden="true">ð</span><span class="kr-score-text">Good 7 / 10</span></span></div><p class="bg-brand-surface text-brand-text-2 mt-1 rounded-lg px-2 py-1.5 text-[10px] leading-snug">
2831we should to discuss again about the rollout cadence</p><div class="mt-2"><span class="text-brand-text-3 text-[9px] font-semibold uppercase tracking-[0.12em]">Corrected</span></div><p class="bg-brand-success-surface text-brand-success mt-1 rounded-lg px-2 py-1.5 text-[10px] font-medium leading-snug">we should discuss the rollout cadence again</p><div class="mt-2"><span class="text-brand-text-3 text-[9px] font-semibold uppercase tracking-[0.12em]">What changed</span></div><div class="border-brand-border-subtle text-brand-text-1 mt-1 border-l-2 pl-2 text-[10px] leading-snug"><p class="kr-diff"><span class="kr-diff-eq">we should </span><del class="kr-diff-del">to </del><span class="kr-diff-eq">discuss </span><del class="kr-diff-del">again about </del><span class="kr-diff-eq">the rollout cadence</span><ins class="kr-diff-ins"> again</ins></p></div></span></span></div></div></div></div><div class="absolute inset-x-8 top-[12%] z-20 sm:inset-x-16 pointer-events-none opacity-0 group-data-[scene=split]/stage:opacity-100 group-data-[scene=window]/stage:opacity-100"><div class="border-brand-border-subtle bg-brand-bg w-full overflow-hidden rounded-xl border shadow-2xl translate-y-3 opacity-0 transition-[opacity,transform] duration-300 group-data-[scene=window]/stage:translate-y-0 group-data-[scene=window]/stage:opacity-100 group-data-[scene=split]/stage:translate-y-0 group-data-[scene=split]/stage:opacity-100 motion-reduce:transition-none"><div class="flex items-center gap-2 px-3 py-2"><span class="inline-flex items-center gap-1.5" aria-hidden="true"><span class="bg-brand-border-subtle h-2 w-2 rounded-full"></span><span class="bg-brand-border-subtle h-2 w-2 rounded-full"></span><span class="bg-brand-border-subtle h-2 w-2 rounded-full"></span></span><span class="ml-auto inline-flex items-center gap-2"><span class="border-brand-border-subtle text-brand-text-3 rounded-full border px-1.5 py-px font-mono text-[9px]">9/10</span><span class="inline-flex h-5 w-5 items-center justify-center rounded-full transition-colors duration-300 bg-brand-surface-2 motion-reduce:transition-none"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-columns2 h-3 w-3 text-brand-text-1" aria-hidden="true"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M12 3v18"></path></svg></span><span class="bg-brand-surface-2 inline-flex h-5 w-5 items-center justify-center rounded-full"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-pin-off text-brand-text-1 h-3 w-3 rotate-45" aria-hidden="true"><path d="M12 17v5"></path><path d="M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89"></path><path d="m2 2 20 20"></path><path d="M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11"></path></svg></span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings text-brand-text-3 h-3 w-3" aria-hidden="true"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg></span></div><div class="flex min-h-[190px] items-stretch"><div class="min-w-0 flex-1 px-4 pb-2"><p class="text-brand-text-1 text-[12px] leading-relaxed">
2831we should to discuss again about the rollout cadence</p><p class="text-brand-text-3 mt-1 text-right font-mono text-[9px]">52 / 4000</p></div><div class="relative w-px shrink-0 py-2"><span class="bg-brand-border-subtle block h-full w-px" aria-hidden="true"></span><span aria-hidden="true" class="bg-brand-border absolute left-1/2 top-1/2 h-8 w-1 -translate-x-1/2 -translate-y-1/2 rounded-full"></span></div><div class="min-w-0 flex-1 px-4 pb-2"><div class="flex items-center gap-2"><span class="text-brand-text-3 text-[9px] font-semibold uppercase tracking-[0.12em]">Original</span><span class="kr-score kr-score--good" aria-label="Sentence score 7 out of 10" data-testid="score-badge"><span aria-hidden="true">ð</span><span class="kr-score-text">Good 7 / 10</span></span></div><p class="bg-brand-surface text-brand-text-2 mt-1 rounded-lg px-2 py-1.5 text-[10px] leading-snug">we should to discuss again about the rollout cadence</p><div class="mt-2"><span class="text-brand-text-3 text-[9px] font-semibold uppercase tracking-[0.12em]">Corrected</span></div><p class="bg-brand-success-surface text-brand-success mt-1 rounded-lg px-2 py-1.5 text-[10px] font-medium leading-snug">we should discuss the rollout cadence again</p><div class="mt-2"><span class="text-brand-text-3 text-[9px] font-semibold uppercase tracking-[0.12em]">What changed</span></div><div class="border-brand-border-subtle text-brand-text-1 mt-1 border-l-2 pl-2 text-[10px] leading-snug"><p class="kr-diff"><span class="kr-diff-eq">we should </span><del class="kr-diff-del">to </del><span class="kr-diff-eq">discuss </span><del class="kr-diff-del">again about </del><span class="kr-diff-eq">the rollout cadence</span><ins class="kr-diff-ins"> again</ins></p></div></div></div><div class="flex pb-3 pt-1 w-1/2 justify-center"><span class="border-brand-border-subtle bg-brand-bg ring-brand-border-subtle inline-flex items-center gap-1 rounded-full px-2 py-1 shadow-lg ring-1"><span class="text-brand-text-3 inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-medium"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-languages h-3 w-3" aria-hidden="true"><path d="m5 8 6 6"></path><path d="m4 14 6-6 2-3"></path><path d="M2 5h12"></path><path d="M7 2h1"></path><path d="m22 22-5-10-5 10"></path><path d="M14 18h6"></path></svg>Translate</span><span class="bg-brand-surface-2 text-brand-text-1 inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-medium"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-3 w-3" aria-hidden="true"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg>Improve</span><span aria-hidden="true" class="bg-brand-border mx-1 h-4 w-px"></span><span class="text-brand-text-1 inline-flex items-center gap-1 text-[10px] font-semibold">Auto<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-repeat2 text-brand-text-3 h-3 w-3" aria-hidden="true"><path d="m2 9 3-3 3 3"></path><path d="M13 18H7a2 2 0 0 1-2-2V6"></path><path d="m22 15-3 3-3-3"></path><path d="M11 6h6a2 2 0 0 1 2 2v10"></path></svg>English<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down text-brand-text-3 h-2.5 w-2.5" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></span></span></div></div></div></div><span class="text-brand-text-3 absolute bottom-3 right-4 inline-flex items-center gap-1.5 text-[10px]"><span class="group-data-[scene=split]/stage:hidden group-data-[scene=window]/stage:hidden">Select, then press</span><span class="hidden group-data-[scene=split]/stage:inline group-data-[scene=window]/stage:inline">Or open the workbench with</span><span class="border-brand-border bg-brand-bg text-brand-text-2 inline-flex h-5 min-w-[20px] items-center justify-center rounded border px-1 font-mono text-[10px] leading-none shadow-sm">â¥</span><span class="hidden group-data-[scene=split]/stage:inline group-data-[scene=window]/stage:inline"><span class="border-brand-border bg-brand-bg text-brand-text-2 inline-flex h-5 min-w-[20px] items-center justify-center rounded border px-1 font-mono text-[10px] leading-none shadow-sm">â§</span></span><span class="border-brand-border bg-brand-bg text-brand-text-2 inline-flex h-5 min-w-[20px] items-center justify-center rounded border px-1 font-mono text-[10px] leading-none shadow-sm">D</span></span></div></div><div class="md:sticky md:top-44"><h3 class="text-brand-text-1 font-serif text-2xl font-medium leading-tight md:text-3xl">Two columns when you want to compare</h3><p class="text-brand-text-2 mt-4 text-base leading-relaxed md:text-lg md:leading-relaxed">One click splits the window: your text on one side, the result on the other, with a divider you can drag. Each layout remembers its own size.</p></div></div></div></div><div class="mt-6 flex flex-wrap items-center justify-center gap-x-4 gap-y-3 md:mt-12"><a href="https://github.com/ocxers/keepreap-releases/releases/latest/download/KeepReap-macOS.dmg" class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-full font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none bg-brand-primary text-brand-on-primary hover:bg-brand-primary-hover focus-visible:ring-brand-link h-[42px] px-6 text-base"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-apple h-4 w-4" aria-hidden="true"><path d="M12 20.94c1.5 0 2.75 1.06 4 1.06 3 0 6-8 6-12.22A4.91 4.91 0 0 0 17 5c-2.22 0-4 1.44-5 2-1-.56-2.78-2-5-2a4.9 4.9 0 0 0-5 4.78C2 14 5 22 8 22c1.25 0 2.5-1.06 4-1.06Z"></path><path d="M10 2c1 .5 2 2 2 5"></path></svg>Download for Mac</a><span class="text-brand-text-3 text-xs">macOS 12 or later<span aria-hidden="true"> · </span>Menu bar only, signed and notarized</span></div></div></section><section id="work-scenarios" data-testid="landing-work-scenarios" class="bg-brand-bg px-6 py-20 md:py-28"><div data-revealed="false" class="section-reveal mx-auto max-w-6xl"><div class="mx-auto max-w-3xl text-center"><p class="section-reveal-item text-brand-text-3 font-mono text-[11px] font-semibold uppercase tracking-[0.18em]">Workplace English</p><h2 class="section-reveal-item text-brand-text-1 mt-4 font-serif text-3xl font-medium tracking-tight md:text-5xl">Built for the English you already use at work</h2><p class="section-reveal-item text-brand-text-2 mt-5 text-base leading-relaxed md:text-lg md:leading-relaxed" style="--reveal-d: 120ms;">Requirements, Slack replies, comments, daily reports, weekly reports, and email all create small English decisions. KeepReap helps in the moment and keeps the useful language for review later.</p></div><div class="mt-10 grid gap-4 sm:grid-cols-2 lg:grid-cols-3"><article class="section-reveal-item border-brand-border-subtle bg-brand-surface rounded-lg border p-5" style="--reveal-d: 180ms;"><div class="flex items-start gap-3"><span class="border-brand-border-subtle bg-brand-bg text-brand-text-1 inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-text h-4 w-4" aria-hidden="true"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path><path d="M10 9H8"></path><path d="M16 13H8"></path><path d="M16 17H8"></path></svg></span><div><h3 class="text-brand-text-1 text-base font-semibold">Requirements</h3><p class="text-brand-text-2 mt-2 text-sm leading-relaxed">An acceptance criterion or edge-case sentence is risky to misread.</p></div></div><div class="border-brand-border-subtle mt-5 space-y-3 border-t pt-4"><p class="text-brand-text-2 text-sm leading-relaxed"><span class="text-brand-text-3 font-mono text-[10px] font-semibold uppercase tracking-wider">Use KeepReap</span><br>Select the line on the page and Translate the part you are unsure about.</p><p class="text-brand-text-2 text-sm leading-relaxed"><span class="text-brand-text-3 font-mono text-[10px] font-semibold uppercase tracking-wider">Save for later</span><br>Product vocabulary, requirement phrasing, and edge-case wording.</p></div></article><article class="section-reveal-item border-brand-border-subtle bg-brand-surface rounded-lg border p-5" style="--reveal-d: 260ms;"><div class="flex items-start gap-3"><span class="border-brand-border-subtle bg-brand-bg text-brand-text-1 inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square h-4 w-4" aria-hidden="true"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path></svg></span><div><h3 class="text-brand-text-1 text-base font-semibold">Slack in browser</h3><p class="text-brand-text-2 mt-2 text-sm leading-relaxed">A reply needs to be fast, clear, and not too blunt.</p></div></div><div class="border-brand-border-subtle mt-5 space-y-3 border-t pt-4"><p class="text-brand-text-2 text-sm leading-relaxed"><span class="text-brand-text-3 font-mono text-[10px] font-semibold uppercase tracking-wider">Use KeepReap</span><br>Translate a teammate's message or Improve your draft before sending.</p><p class="text-brand-text-2 text-sm leading-relaxed"><span class="text-brand-text-3 font-mono text-[10px] font-semibold uppercase tracking-wider">Save for later</span><br>Polite async communication patterns you can review later.</p></div></article><article class="section-reveal-item border-brand-border-subtle bg-brand-surface rounded-lg border p-5" style="--reveal-d: 340ms;"><div class="flex items-start gap-3"><span class="border-brand-border-subtle bg-brand-bg text-brand-text-1 inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-messages-square h-4 w-4" aria-hidden="true"><path d="M14 9a2 2 0 0 1-2 2H6l-4 4V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2z"></path><path d="M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1"></path></svg></span><div><h3 class="text-brand-text-1 text-base font-semibold">Comments</h3><p class="text-brand-text-2 mt-2 text-sm leading-relaxed">A ticket or PR comment needs a careful tone.</p></div></div><div class="border-brand-border-subtle mt-5 space-y-3 border-t pt-4"><p class="text-brand-text-2 text-sm leading-relaxed"><span class="text-brand-text-3 font-mono text-[10px] font-semibold uppercase tracking-wider">Use KeepReap</span><br>Improve clarification questions, risk notes, and polite pushback.</p><p class="text-brand-text-2 text-sm leading-relaxed"><span class="text-brand-text-3 font-mono text-[10px] font-semibold uppercase tracking-wider">Save for later</span><br>Reusable language for questions, follow-ups, and review comments.</p></div></article><article class="section-reveal-item border-brand-border-subtle bg-brand-surface rounded-lg border p-5" style="--reveal-d: 420ms;"><div class="flex items-start gap-3"><span class="border-brand-border-subtle bg-brand-bg text-brand-text-1 inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-notebook-text h-4 w-4" aria-hidden="true"><path d="M2 6h4"></path><path d="M2 10h4"></path><path d="M2 14h4"></path><path d="M2 18h4"></path><rect width="16" height="20" x="4" y="2" rx="2"></rect><path d="M9.5 8h5"></path><path d="M9.5 12H16"></path><path d="M9.5 16H14"></path></svg></span><div><h3 class="text-brand-text-1 text-base font-semibold">Daily and weekly reports</h3><p class="text-brand-text-2 mt-2 text-sm leading-relaxed">A status update needs structure around progress, blockers, risks, and next steps.</p></div></div><div class="border-brand-border-subtle mt-5 space-y-3 border-t pt-4"><p class="text-brand-text-2 text-sm leading-relaxed"><span class="text-brand-text-3 font-mono text-[10px] font-semibold uppercase tracking-wider">Use KeepReap</span><br>Paste the draft into the Side Panel or WebApp and Improve the paragraph.</p><p class="text-brand-text-2 text-sm leading-relaxed"><span class="text-brand-text-3 font-mono text-[10px] font-semibold uppercase tracking-wider">Save for later</span><br>Status, blocker, risk, and next-step phrasing you repeat every week.</p></div></article><article class="section-reveal-item border-brand-border-subtle bg-brand-surface rounded-lg border p-5" style="--reveal-d: 500ms;"><div class="flex items-start gap-3"><span class="border-brand-border-subtle bg-brand-bg text-brand-text-1 inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-mail h-4 w-4" aria-hidden="true"><rect width="20" height="16" x="2" y="4" rx="2"></rect><path d="m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"></path></svg></span><div><h3 class="text-brand-text-1 text-base font-semibold">Email</h3><p class="text-brand-text-2 mt-2 text-sm leading-relaxed">A status email, release note, handoff, or clarification request needs a cleaner structure.</p></div></div><div class="border-brand-border-subtle mt-5 space-y-3 border-t pt-4"><p class="text-brand-text-2 text-sm leading-relaxed"><span class="text-brand-text-3 font-mono text-[10px] font-semibold uppercase tracking-wider">Use KeepReap</span><br>Improve the draft before sending and Save the useful phrases.</p><p class="text-brand-text-2 text-sm leading-relaxed"><span class="text-brand-text-3 font-mono text-[10px] font-semibold uppercase tracking-wider">Save for later</span><br>Reusable email openings, handoff language, and follow-up wording.</p></div></article><article class="section-reveal-item border-brand-border-subtle bg-brand-surface rounded-lg border p-5" style="--reveal-d: 580ms;"><div class="flex items-start gap-3"><span class="border-brand-border-subtle bg-brand-bg text-brand-text-1 inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-bug h-4 w-4" aria-hidden="true"><path d="m8 2 1.88 1.88"></path><path d="M14.12 3.88 16 2"></path><path d="M9 7.13v-1a3.003 3.003 0 1 1 6 0v1"></path><path d="M12 20c-3.3 0-6-2.7-6-6v-3a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v3c0 3.3-2.7 6-6 6"></path><path d="M12 20v-9"></path><path d="M6.53 9C4.6 8.8 3 7.1 3 5"></path><path d="M6 13H2"></path><path d="M3 21c0-2.1 1.7-3.9 3.8-4"></path><path d="M20.97 5c0 2.1-1.6 3.8-3.5 4"></path><path d="M22 13h-4"></path><path d="M17.2 17c2.1.1 3.8 1.9 3.8 4"></path></svg></span><div><h3 class="text-brand-text-1 text-base font-semibold">Bug reports</h3><p class="text-brand-text-2
2831 mt-2 text-sm leading-relaxed">Steps, expected results, actual results, and severity notes need precision.</p></div></div><div class="border-brand-border-subtle mt-5 space-y-3 border-t pt-4"><p class="text-brand-text-2 text-sm leading-relaxed"><span class="text-brand-text-3 font-mono text-[10px] font-semibold uppercase tracking-wider">Use KeepReap</span><br>Improve rough wording before posting it to Jira or a bug report.</p><p class="text-brand-text-2 text-sm leading-relaxed"><span class="text-brand-text-3 font-mono text-[10px] font-semibold uppercase tracking-wider">Save for later</span><br>Bug-report expressions engineers can act on.</p></div></article></div><div class="section-reveal-item border-brand-border-subtle bg-brand-bg mt-8 rounded-lg border p-5 md:p-6" style="--reveal-d: 720ms;"><div class="grid gap-5 md:grid-cols-[1fr_1.25fr] md:items-center"><div><p class="text-brand-text-3 font-mono text-[11px] font-semibold uppercase tracking-[0.18em]">Before / after</p><h3 class="text-brand-text-1 mt-3 font-serif text-2xl font-medium leading-tight md:text-3xl">Make rough English clear enough to act on</h3><p class="text-brand-text-2 mt-3 text-sm leading-relaxed md:text-base md:leading-relaxed">KeepReap is useful in the moment, but the saved pattern is the long-term value.</p></div><div class="grid gap-3"><div class="border-brand-border-subtle bg-brand-surface rounded-lg border p-4"><p class="text-brand-text-3 font-mono text-[10px] font-semibold uppercase tracking-wider">Rough</p><p class="text-brand-text-2 mt-2 text-sm leading-relaxed">The button has problem after click many times.</p></div><div class="border-brand-primary/40 bg-brand-surface rounded-lg border p-4"><p class="text-brand-text-3 font-mono text-[10px] font-semibold uppercase tracking-wider">Improved</p><p class="text-brand-text-1 mt-2 text-sm font-medium leading-relaxed">The button becomes unresponsive after repeated clicks.</p></div><div class="text-brand-text-2 text-sm leading-relaxed"><span class="text-brand-text-3 font-mono text-[10px] font-semibold uppercase tracking-wider">Saved as</span> Bug-report expression</div></div></div></div></div></section><section id="how-to-say-it" data-testid="landing-how-to-say-it" class="bg-brand-surface px-6 py-20 md:py-28"><div data-revealed="false" class="section-reveal mx-auto max-w-6xl"><div class="mx-auto max-w-3xl text-center"><p class="section-reveal-item text-brand-text-3 font-mono text-[11px] font-semibold uppercase tracking-[0.18em]">Free to read, no account</p><h2 class="section-reveal-item text-brand-text-1 mt-4 font-serif text-3xl font-medium tracking-tight md:text-5xl">How to Say It at Work</h2><p class="section-reveal-item text-brand-text-2 mt-5 text-base leading-relaxed md:text-lg md:leading-relaxed" style="--reveal-d: 120ms;">Short pages on the sentences people stall on â the chase, the sign-off, the polite no. Each one gives you the alternatives that actually work, with the register marked.</p></div><ul class="mt-10 grid gap-4 sm:grid-cols-2 lg:grid-cols-3" aria-hidden="true"><li data-testid="landing-how-to-say-it-placeholder" class="border-brand-border-subtle bg-brand-bg rounded-lg border h-[176px]"></li><li data-testid="landing-how-to-say-it-placeholder" class="border-brand-border-subtle bg-brand-bg rounded-lg border h-[176px]"></li><li data-testid="landing-how-to-say-it-placeholder" class="border-brand-border-subtle bg-brand-bg rounded-lg border h-[176px]"></li></ul><div class="section-reveal-item mt-8 flex justify-center" style="--reveal-d: 180ms;"><a href="/s" class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-full font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none bg-transparent text-brand-text-1 border border-brand-border hover:bg-brand-surface focus-visible:ring-brand-text-1 h-[42px] px-6 text-base">Browse All Series<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right h-4 w-4" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a></div></div></section><section data-testid="landing-differentiators" class="bg-brand-bg px-6 py-20 md:py-28"><div data-revealed="false" class="section-reveal mx-auto max-w-3xl"><h2 class="section-reveal-item text-brand-text-1 text-center font-serif text-3xl font-medium tracking-tight md:text-5xl">Not another translator</h2><div class="divide-brand-border-subtle mt-12 space-y-10 divide-y md:mt-16 md:space-y-14"><div class="section-reveal-item pt-10 first:pt-0 md:pt-14" style="--reveal-d: 160ms;"><h3 class="text-brand-text-1 font-serif text-2xl font-medium leading-tight tracking-tight md:text-4xl"><span class="text-brand-text-3">Ã</span> Not a translator tab</h3><p class="text-brand-text-2 mt-4 text-base leading-relaxed md:mt-5 md:text-lg md:leading-relaxed"><strong class="text-brand-text-1 font-semibold">Translate</strong> and <strong class="text-brand-text-1 font-semibold">Improve</strong> are there when you need them, but they aren't the destination. The point is what you keep â sentences saved to your <strong class="text-brand-text-1 font-semibold">library</strong> with source URLs attached, surfaced again when review actually helps.</p></div><div class="section-reveal-item pt-10 first:pt-0 md:pt-14" style="--reveal-d: 280ms;"><h3 class="text-brand-text-1 font-serif text-2xl font-medium leading-tight tracking-tight md:text-4xl"><span class="text-brand-text-3">Ã</span> Not a vocabulary graveyard</h3><p class="text-brand-text-2 mt-4 text-base leading-relaxed md:mt-5 md:text-lg md:leading-relaxed">Saved items return as practice â typing prompts, cloze cards, weekly tests. <strong class="text-brand-text-1 font-semibold">Spaced timing</strong> brings them back when forgetting curves say it's useful, not when guilt does.</p></div><div class="section-reveal-item pt-10 first:pt-0 md:pt-14" style="--reveal-d: 400ms;"><h3 class="text-brand-text-1 font-serif text-2xl font-medium leading-tight tracking-tight md:text-4xl"><span class="text-brand-text-3">Ã</span> Not flashcards you just flip</h3><p class="text-brand-text-2 mt-4 text-base leading-relaxed md:mt-5 md:text-lg md:leading-relaxed">Recognising a word isn't the same as using it. Practice moves each item from <strong class="text-brand-text-1 font-semibold">picking it out</strong> to <strong class="text-brand-text-1 font-semibold">filling the gap</strong> to <strong class="text-brand-text-1 font-semibold">writing it yourself</strong> â so what you saved becomes English you can actually produce.</p></div></div></div></section><section id="pricing" data-testid="landing-pricing" class="bg-brand-surface px-6 py-20 md:py-28"><div data-revealed="false" class="section-reveal mx-auto max-w-5xl"><p class="section-reveal-item text-brand-text-3 text-center font-mono text-[10px] font-semibold uppercase tracking-wider">Pricing</p><h2 class="section-reveal-item text-brand-text-1 mt-3 text-center font-serif text-3xl font-medium tracking-tight md:text-5xl" style="--reveal-d: 80ms;">Transparent pricing. Start free.</h2><p class="section-reveal-item text-brand-text-2 mx-auto mt-4 max-w-2xl text-center text-base leading-relaxed md:text-[17px] md:leading-relaxed" style="--reveal-d: 160ms;">Every plan includes Translate, Improve, Save and Review. You only pay if your daily work asks for more credits.</p><div class="section-reveal-item mt-8 flex justify-center" style="--reveal-d: 200ms;"><div role="tablist" aria-label="Pricing" class="border-brand-border-subtle bg-brand-surface inline-flex items-center gap-1 rounded-full border p-1 text-xs"><button type="button" role="tab" aria-selected="false" class="rounded-full px-4 py-1.5 font-medium transition-colors text-brand-text-2 hover:text-brand-text-1">Monthly</button><button type="button" role="tab" aria-selected="true" class="inline-flex items-center gap-2 rounded-full px-4 py-1.5 font-medium transition-colors bg-brand-primary text-brand-on-primary">Yearly<span class="rounded-full px-1.5 py-0.5 text-[10px] bg-brand-on-primary/15 text-brand-on-primary">Save ~17%</span></button></div></div><div class="mt-10 grid grid-cols-1 gap-5 md:mt-12 md:grid-cols-3 md:gap-6"><button type="button" aria-label="Start with the Free plan" class="section-reveal-item focus-visible:ring-brand-primary relative flex flex-col rounded-xl border p-6 text-left transition-[border-color,box-shadow,transform] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 md:p-7 hover:-translate-y-0.5 border-brand-border-subtle hover:border-brand-primary bg-brand-surface hover:shadow-md" style="--reveal-d: 260ms;"><p class="text-brand-text-2 text-xs uppercase tracking-wide">Free</p><div class="mt-3 flex items-baseline gap-1"><span class="text-brand-text-1 font-serif text-4xl font-medium md:text-5xl">$0</span><span class="text-brand-text-3 text-sm">forever</span></div><p class="text-brand-text-1 mt-4 font-mono text-sm"><span class="bg-brand-surface-2 inline-block animate-pulse rounded h-4 w-28"></span></p><ul class="mt-3 space-y-1.5"><li class="text-brand-text-1 flex items-center gap-1.5 text-xs font-medium"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-infinity text-brand-primary size-3.5 shrink-0" aria-hidden="true"><path d="M12 12c-2-2.67-4-4-6-4a4 4 0 1 0 0 8c2 0 4-1.33 6-4Zm0 0c2 2.67 4 4 6 4a4 4 0 0 0 0-8c-2 0-4 1.33-6 4Z"></path></svg>Built-in translation · Unlimited</li><li class="text-brand-text-2 flex items-center gap-1.5 text-xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check text-brand-primary size-3.5 shrink-0" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg><span class="bg-brand-surface-2 inline-block animate-pulse rounded h-3 w-24"></span></li><li class="text-brand-text-2 flex items-center gap-1.5 text-xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check text-brand-primary size-3.5 shrink-0" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg><span class="bg-brand-surface-2 inline-block animate-pulse rounded h-3 w-24"></span></li></ul><p class="text-brand-text-2 mt-3 text-sm leading-relaxed">Enough for casual reading and a few writes per day. No card required.</p>
2831<p class="text-brand-text-3 mt-4 min-h-4 text-xs" aria-live="polite"></p></button><button type="button" aria-label="Start with the Plus plan" class="section-reveal-item focus-visible:ring-brand-primary relative flex flex-col rounded-xl border p-6 text-left transition-[border-color,box-shadow,transform] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 md:p-7 hover:-translate-y-0.5 border-brand-border-subtle hover:border-brand-primary bg-brand-surface hover:shadow-md" style="--reveal-d: 360ms;"><p class="text-brand-text-2 text-xs uppercase tracking-wide">Plus</p><div class="mt-3 flex items-baseline gap-1"><span class="text-brand-text-1 font-serif text-4xl font-medium md:text-5xl">$2.50</span><span class="text-brand-text-3 text-sm">/ mo, billed yearly</span></div><p class="text-brand-text-1 mt-4 font-mono text-sm"><span class="bg-brand-surface-2 inline-block animate-pulse rounded h-4 w-28"></span></p><ul class="mt-3 space-y-1.5"><li class="text-brand-text-1 flex items-center gap-1.5 text-xs font-medium"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-infinity text-brand-primary size-3.5 shrink-0" aria-hidden="true"><path d="M12 12c-2-2.67-4-4-6-4a4 4 0 1 0 0 8c2 0 4-1.33 6-4Zm0 0c2 2.67 4 4 6 4a4 4 0 0 0 0-8c-2 0-4 1.33-6 4Z"></path></svg>Built-in translation · Unlimited</li><li class="text-brand-text-2 flex items-center gap-1.5 text-xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check text-brand-primary size-3.5 shrink-0" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg><span class="bg-brand-surface-2 inline-block animate-pulse rounded h-3 w-24"></span></li><li class="text-brand-text-2 flex items-center gap-1.5 text-xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check text-brand-primary size-3.5 shrink-0" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg><span class="bg-brand-surface-2 inline-block animate-pulse rounded h-3 w-24"></span></li></ul><p class="text-brand-text-2 mt-3 text-sm leading-relaxed">Step up for regular writing, reading and daily practice.</p><p class="text-brand-text-3 mt-4 min-h-4 text-xs" aria-live="polite"></p></button><button type="button" aria-label="Start with the Pro plan" class="section-reveal-item focus-visible:ring-brand-primary relative flex flex-col rounded-xl border p-6 text-left transition-[border-color,box-shadow,transform] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 md:p-7 hover:-translate-y-0.5 border-brand-primary bg-brand-surface shadow-md hover:shadow-lg" style="--reveal-d: 460ms;"><span class="bg-brand-primary text-brand-on-primary absolute -top-3 left-1/2 -translate-x-1/2 rounded-full px-3 py-1 text-[10px] font-semibold uppercase tracking-wide">Best value</span><p class="text-brand-text-2 text-xs uppercase tracking-wide">Pro</p><div class="mt-3 flex items-baseline gap-1"><span class="text-brand-text-1 font-serif text-4xl font-medium md:text-5xl">$5.00</span><span class="text-brand-text-3 text-sm">/ mo, billed yearly</span></div><p class="text-brand-text-1 mt-4 font-mono text-sm"><span class="bg-brand-surface-2 inline-block animate-pulse rounded h-4 w-28"></span></p><ul class="mt-3 space-y-1.5"><li class="text-brand-text-1 flex items-center gap-1.5 text-xs font-medium"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-infinity text-brand-primary size-3.5 shrink-0" aria-hidden="true"><path d="M12 12c-2-2.67-4-4-6-4a4 4 0 1 0 0 8c2 0 4-1.33 6-4Zm0 0c2 2.67 4 4 6 4a4 4 0 0 0 0-8c-2 0-4 1.33-6 4Z"></path></svg>Built-in translation · Unlimited</li><li class="text-brand-text-2 flex items-center gap-1.5 text-xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check text-brand-primary size-3.5 shrink-0" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg><span class="bg-brand-surface-2 inline-block animate-pulse rounded h-3 w-24"></span></li><li class="text-brand-text-2 flex items-center gap-1.5 text-xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check text-brand-primary size-3.5 shrink-0" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg><span class="bg-brand-surface-2 inline-block animate-pulse rounded h-3 w-24"></span></li></ul><p class="text-brand-text-2 mt-3 text-sm leading-relaxed">For people who write and study in English every day.</p>
2831<p class="text-brand-text-3 mt-4 min-h-4 text-xs" aria-live="polite"></p></button></div><p role="alert" class="min-h-5 text-sm text-brand-danger mt-6 text-center"></p><div class="section-reveal-item mt-12 flex flex-col items-center" style="--reveal-d: 560ms;"><p class="text-brand-text-2 text-center text-sm">Need more? Top-up credits never expire.</p><div class="mt-4 flex min-h-[34px] flex-wrap items-center justify-center gap-2"></div></div><p class="section-reveal-item text-brand-text-3 mt-4 min-h-4 text-center text-xs" style="--reveal-d: 600ms;"></p><div class="section-reveal-item mt-10 flex flex-col items-center gap-3 sm:flex-row sm:justify-center" style="--reveal-d: 640ms;"><button type="button" class="bg-brand-primary text-brand-on-primary hover:bg-brand-primary-hover inline-flex items-center justify-center rounded-full px-6 py-3 text-sm font-semibold transition-colors">Start Free</button></div><div id="refer-and-earn" data-testid="landing-refer-panel" class="section-reveal-item border-brand-border-subtle bg-brand-surface mt-16 grid gap-8 rounded-xl border p-6 md:grid-cols-2 md:p-8" style="--reveal-d: 720ms;"><div><p class="text-brand-text-3 font-mono text-[10px] font-semibold uppercase tracking-wider">Refer & Earn</p><h3 class="text-brand-text-1 mt-3 font-serif text-2xl font-medium tracking-tight md:text-3xl">Refer friends. Earn unlimited credits.</h3><p class="text-brand-text-2 mt-3 text-sm leading-relaxed md:text-[15px] md:leading-relaxed">200 credits for every friend who tries KeepReap â no limit on how many you invite, and they never expire.</p><a class="bg-brand-primary text-brand-on-primary hover:bg-brand-primary-hover mt-5 inline-flex rounded-full px-5 py-2.5 text-sm font-semibold transition-colors" href="/sign-in?reason=referral&after=%2Fadmin%2Fsettings%2Freferrals">Get Your Invite Link</a></div><ol class="grid gap-4 self-center"><li class="flex gap-3"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-gift text-brand-primary mt-0.5 size-5 shrink-0" aria-hidden="true"><rect x="3" y="8" width="18" height="4" rx="1"></rect><path d="M12 8v13"></path><path d="M19 12v7a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-7"></path><path d="M7.5 8a2.5 2.5 0 0 1 0-5A4.8 8 0 0 1 12 8a4.8 8 0 0 1 4.5-5 2.5 2.5 0 0 1 0 5"></path></svg><div><div class="text-brand-text-1 text-sm font-semibold">Sign in and copy your link</div><p class="text-brand-text-2 mt-1 text-[13px] leading-relaxed">Sign in and copy your personal invite link from Settings â Referrals.</p></div></li><li class="flex gap-3"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-send text-brand-primary mt-0.5 size-5 shrink-0" aria-hidden="true"><path d="M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z"></path><path d="m21.854 2.147-10.94 10.939"></path></svg><div><div class="text-brand-text-1 text-sm font-semibold">Share with anyone</div><p class="text-brand-text-2 mt-1 text-[13px] leading-relaxed">Share via Slack, email, X, LinkedIn â or anywhere you'd naturally recommend a tool.</p></div></li><li class="flex gap-3"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles text-brand-primary mt-0.5 size-5 shrink-0" aria-hidden="true"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg><div><div class="text-brand-text-1 text-sm font-semibold">Earn 200 credits</div><p class="text-brand-text-2 mt-1 text-[13px] leading-relaxed">When your friend uses ⥠20 of their free credits within 2 months (every account starts with 200 free credits a month), you earn 200 credits that never expire.</p></div></li></ol></div></div></section><section id="faq" data-testid="landing-faq" class="bg-brand-bg px-6 py-20 md:py-28">
2831<script type="application/ld+json">{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"Can I try it without signing up?","acceptedAnswer":{"@type":"Answer","text":"Yes. Both the Chrome extension and the Mac app have an anonymous mode with 10 lifetime AI actions (Save, Improve, Translate) to try the loop. Sign in to keep your captures across sessions and lift the limit."}},{"@type":"Question","name":"Do I need the Chrome extension?","acceptedAnswer":{"@type":"Answer","text":"No. The web app works on its own â read books from the shelf, add Word Libraries, practise and track your progress. The Chrome extension and the Mac app add capture from everything else you read."}},{"@type":"Question","name":"What does the Mac app need?","acceptedAnswer":{"@type":"Answer","text":"macOS 12 or later, plus the Accessibility permission so it can read the text you select â it never reads your clipboard. The app is signed and notarized by Apple. On macOS 15 and later it can also translate on-device: free, offline and no credits."}}
2831,{"@type":"Question","name":"Is my data private?","acceptedAnswer":{"@type":"Answer","text":"Your data stays in KeepReap's database and we never sell it. Google is used only when you choose Google sign-in; email/password sign-in stays first-party. Our website uses Google Analytics and loads Google AdSense, but neither sets cookies unless you accept them. SOC2 work is out of scope while we are in Early Access."}},{"@type":"Question","name":"Is it free?","acceptedAnswer":{"@type":"Answer","text":"Yes. The Free plan includes 200 AI credits a month, unlimited built-in translation for supported languages and up to 20 books on your shelf. Plus and Pro add more credits and remove the book limit â see Pricing above."}},{"@type":"Question","name":"Does it work in browsers other than Chrome?","acceptedAnswer":{"@type":"Answer","text":"The extension is Chrome-only for now â Firefox and Safari come after Early Access. On a Mac you don't have to wait: the Mac app reads your selection at the system level, so it works in Safari, Firefox and every other app."}}]}</script>
2831<div class="mx-auto max-w-3xl"><h2 class="text-brand-text-1 text-center font-serif text-3xl font-medium tracking-tight md:text-5xl">Common questions</h2><div class="divide-brand-border-subtle mt-10 divide-y md:mt-14"><div><button type="button" aria-expanded="true" aria-controls=":rl:" class="text-brand-text-1 flex w-full cursor-pointer items-center justify-between gap-4 py-5 text-left text-base font-medium md:text-lg"><span>Can I try it without signing up?</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plus text-brand-text-3 h-5 w-5 shrink-0 transition-transform duration-200 motion-reduce:transition-none rotate-45" aria-hidden="true"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg></button><div id=":rl:" class="grid transition-[grid-template-rows] duration-300 ease-out motion-reduce:transition-none grid-rows-[1fr]"><div class="overflow-hidden"><p class="text-brand-text-2 pb-5 pr-9 text-sm leading-relaxed md:text-base md:leading-relaxed transition-opacity duration-200 motion-reduce:transition-none opacity-100">Yes. Both the Chrome extension and the Mac app have an anonymous mode with 10 lifetime AI actions (Save, Improve, Translate) to try the loop. Sign in to keep your captures across sessions and lift the limit.</p></div></div></div><div><button type="button" aria-expanded="false" aria-controls=":rm:" class="text-brand-text-1 flex w-full cursor-pointer items-center justify-between gap-4 py-5 text-left text-base font-medium md:text-lg"><span>Do I need the Chrome extension?</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plus text-brand-text-3 h-5 w-5 shrink-0 transition-transform duration-200 motion-reduce:transition-none" aria-hidden="true"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg></button><div id=":rm:" class="grid transition-[grid-template-rows] duration-300 ease-out motion-reduce:transition-none grid-rows-[0fr]"><div class="overflow-hidden"><p class="text-brand-text-2 pb-5 pr-9 text-sm leading-relaxed md:text-base md:leading-relaxed transition-opacity duration-200 motion-reduce:transition-none opacity-0">No. The web app works on its own â read books from the shelf, add Word Libraries, practise and track your progress. The Chrome extension and the Mac app add capture from everything else you read.</p></div></div></div><div><button type="button" aria-expanded="false" aria-controls=":rn:" class="text-brand-text-1 flex w-full cursor-pointer items-center justify-between gap-4 py-5 text-left text-base font-medium md:text-lg"><span>What does the Mac app need?</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plus text-brand-text-3 h-5 w-5 shrink-0 transition-transform duration-200 motion-reduce:transition-none" aria-hidden="true"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg></button><div id=":rn:" class="grid transition-[grid-template-rows] duration-300 ease-out motion-reduce:transition-none grid-rows-[0fr]"><div class="overflow-hidden"><p class="text-brand-text-2 pb-5 pr-9 text-sm leading-relaxed md:text-base md:leading-relaxed transition-opacity duration-200 motion-reduce:transition-none opacity-0">macOS 12 or later, plus the Accessibility permission so it can read the text you select â it never reads your clipboard. The app is signed and notarized by Apple. On macOS 15 and later it can also translate on-device: free, offline and no credits.</p></div></div></div><div><button type="button" aria-expanded="false" aria-controls=":ro:" class="text-brand-text-1 flex w-full cursor-pointer items-center justify-between gap-4 py-5 text-left text-base font-medium md:text-lg"><span>Is my data private?</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plus text-brand-text-3 h-5 w-5 shrink-0 transition-transform duration-200 motion-reduce:transition-none" aria-hidden="true"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg></button><div id=":ro:" class="grid transition-[grid-template-rows] duration-300 ease-out motion-reduce:transition-none grid-rows-[0fr]"><div class="overflow-hidden"><p class="text-brand-text-2 pb-5 pr-9 text-sm leading-relaxed md:text-base md:leading-relaxed transition-opacity duration-200 motion-reduce:transition-none opacity-0">Your data stays in KeepReap's database and we never sell it. Google is used only when you choose Google sign-in; email/password sign-in stays first-party. Our website uses Google Analytics and loads Google AdSense, but neither sets cookies unless you accept them. SOC2 work is out of scope while we are in Early Access.</p></div></div></div><div><button type="button" aria-expanded="false" aria-controls=":rp:" class="text-brand-text-1 flex w-full cursor-pointer items-center justify-between gap-4 py-5 text-left text-base font-medium md:text-lg"><span>Is it free?</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plus text-brand-text-3 h-5 w-5 shrink-0 transition-transform duration-200 motion-reduce:transition-none" aria-hidden="true"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg></button><div id=":rp:" class="grid transition-[grid-template-rows] duration-300 ease-out motion-reduce:transition-none grid-rows-[0fr]"><div class="overflow-hidden"><p class="text-brand-text-2 pb-5 pr-9 text-sm leading-relaxed md:text-base md:leading-relaxed transition-opacity duration-200 motion-reduce:transition-none opacity-0">Yes. The Free plan includes 200 AI credits a month, unlimited built-in translation for supported languages and up to 20 books on your shelf. Plus and Pro add more credits and remove the book limit â see Pricing above.</p></div></div></div><div><button type="button" aria-expanded="false" aria-controls=":rq:" class="text-brand-text-1 flex w-full cursor-pointer items-center justify-between gap-4 py-5 text-left text-base font-medium md:text-lg"><span>Does it work in browsers other than Chrome?</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plus text-brand-text-3 h-5 w-5 shrink-0 transition-transform duration-200 motion-reduce:transition-none" aria-hidden="true"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg></button><div id=":rq:" class="grid transition-[grid-template-rows] duration-300 ease-out motion-reduce:transition-none grid-rows-[0fr]"><div class="overflow-hidden"><p class="text-brand-text-2 pb-5 pr-9 text-sm leading-relaxed md:text-base md:leading-relaxed transition-opacity duration-200 motion-reduce:transition-none opacity-0">The extension is Chrome-only for now â Firefox and Safari come after Early Access. On a Mac you don't have to wait: the Mac app reads your selection at the system level, so it works in Safari, Firefox and every other app.</p></div></div></div></div></div></section><footer class="bg-brand-primary text-brand-on-primary px-6 pb-6 pt-16 md:pb-8 md:pt-20"><div class="mx-auto max-w-6xl"><div class="grid grid-cols-1 gap-12 md:grid-cols-4 md:gap-16"><div><a class="focus-visible:ring-brand-on-primary inline-flex rounded-full focus-visible:outline-none focus-visible:ring-2" aria-label="KeepReap" href="/"><span class="text-brand-mark-on-dark inline-flex items-center gap-2"><svg viewBox="314 423 1159 947" fill="currentColor" xmlns="http://www.w3.org/2000/svg" class="h-5 w-5 text-brand-mark-light" role="img" aria-label="KeepReap"> 2832<g transform="scale(1.0078431 1)"><path d="M407.077 423.744C454.055 419.645 499.592 453.121 510.437 498.827C514.448 515.731 513.5 535.845 513.518 553.28L513.543 609.641L513.494 810.679L584.363 810.714C616.791 810.723 644.986 813.222 675.933 802.119C702.761 792.335 726.315 775.235 743.928 752.759C779.326 708.065 780.761 668.342 780.735 614.973L780.686 550.174C780.676 524.927 779.513 506.899 790.93 483.376C802.791 458.921 823.929 440.217 849.646 431.419C858.433 428.491 867.565 426.721 876.811 426.156C893.686 425.052 920.364 425.871 937.863 425.904L1047.73 425.899L1144.94 425.884C1169.97 425.887 1194.79 425.113 1219.65 428.32C1249.77 432.191 1279.02 441.062 1306.22 454.568C1375.92 488.946 1429.18 549.49 1454.41 622.992C1479.84 697.011 1474.94 778.09 1440.75 848.501C1405.05 920.889 1346.52 970.784 1270.35 996.653C1284.39 1014.92 1302.94 1036.08 1317.9 1054.07L1403.79 1157.43L1439.17 1199.8C1445.42 1207.37 1453.95 1217.22 1458.93 1225.29C1465.84 1236.66 1470.34 1249.35 1472.12 1262.54C1475.61 1288.09 1468.63 1313.96 1452.76 1334.27C1438.02 1353.6 1416.21 1366.27 1392.12 1369.5C1332.71 1376.9 1305.13
28321329.41 1271.8 1289.75L1169.1 1167.54L1055.8 1031.76L1019.41 988.194C1013.52 981.158 1004.39 970.915 999.336 963.625C991.72 952.759 987.047 940.1 985.782 926.898C983.428 905.684 989.753 884.418 1003.31 867.923C1018.01 849.91 1037.28 841.433 1060.03 839.239C1065.6 838.44 1083.9 838.831 1090.32 838.843L1141.36 838.968C1182.6 839.065 1214.24 837.328 1246.21 805.922C1269.65 782.879 1282.85 751.377 1282.82 718.505C1282.85 686.217 1271.38 654.229 1248.24 631.294C1233.74 616.845 1215.5 606.712 1195.58 602.023C1175.88 597.356 1132 598.993 1109.75 598.998L976.936 599.032C976.918 618.967 977.349 641.632 976.391 661.241C972.649 737.499 943.3 811.219 892.008 867.981C881.247 879.894 871.686 888.362 859.649 899.096C870.522 907.388 880.825 916.418 890.471 926.099C940.147 976.001 971.05 1041.54 977.937 1111.61C979.949 1132.03 979.422 1154.44 979.413 1175.1L979.44 1257.02C979.396 1290.63 975.206 1317.21 949.836 1342.21C930.888 1360.73 905.325 1370.92 878.831 1370.51C858.083 1370.3 837.933 1363.55 821.242 1351.24C802.312 1337.37 788.944 1317.21 783.544 1294.38C779.594 1277.81 780.66 1257.87 780.677 1240.61L780.771 1169.76C780.848 1112.93 779.63 1067.66 735.92 1023.59C712.125 999.28 680.696 983.881 646.9 979.981C630.953 978.303 609.192 978.883 592.729 978.883L513.725 978.847C513.056 1004.78 513.465 1032.01 513.474 1058.05L513.488 1192.87C513.496 1216.55 513.428 1240.29 513.44 1263.96C513.452 1290.39 508.447 1311.86 491.641 1332.87C475.342 1353.56 451.428 1366.87 425.245 1369.81C398.611 1372.99 371.816 1365.33 350.899 1348.54C330.32 1331.97 317.215 1307.87 314.502 1281.59C313.181 1268.11 313.761 1247.71 313.767 1233.58L313.8 1152.59L313.807 886.666L313.773 635.042L313.768 557.578C313.773 544.267 313.221 524.309 314.605 511.735C316.703 492.882 324.253 475.051 336.331 460.424C354.582 438.248 378.693 426.341 407.077 423.744Z" fill="currentColor"></path></g> 2833</svg><span class="text-xl font-bold">KeepReap</span></span></a><p class="text-brand-on-dark-soft mt-4 max-w-[320px] text-sm leading-relaxed">Keep what matters. Reap what stays.</p><p class="text-brand-on-primary mt-8 text-sm font-semibold">Questions? Feedback? Ideas?</p><p class="text-brand-on-dark-soft mt-1 text-sm">We'd love to hear from you:</p><a href="/cdn-cgi/l/email-protection#b4c7c1c4c4dbc6c0f4dfd1d1c4c6d1d5c49ad7dbd9" class="text-brand-on-primary hover:text-brand-on-dark-soft mt-3 inline-flex items-center gap-2 text-sm transition-colors"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-mail h-4 w-4" aria-hidden="true"><rect width="20" height="16" x="2" y="4" rx="2"></rect><path d="m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"></path></svg><span class="__cf_email__" data-cfemail="22515752524d50566249474752504743520c414d4f">[email protected]</span></a></div><div><p class="text-brand-on-dark-soft mb-6 font-mono text-xs font-semibold uppercase tracking-[0.18em]">Product</p><ul class="space-y-3"><li><a href="/#capture" class="text-brand-on-primary hover:text-brand-on-dark-soft text-sm transition-colors">Capture</a></li><li><a href="/#how-it-works" class="text-brand-on-primary hover:text-brand-on-dark-soft text-sm transition-colors">How it works</a></li><li><a href="/#work-scenarios" class="text-brand-on-primary hover:text-brand-on-dark-soft text-sm transition-colors">Work scenarios</a></li><li><a href="/#faq" class="text-brand-on-primary hover:text-brand-on-dark-soft text-sm transition-colors">FAQ</a></li><li><a href="/s" class="text-brand-on-primary hover:text-brand-on-dark-soft text-sm transition-colors">Explore</a></li><li><a class="text-brand-on-primary hover:text-brand-on-dark-soft text-sm transition-colors" href="/books">Public books</a></li><li><a class="text-brand-on-primary hover:text-brand-on-dark-soft text-sm transition-colors" href="/admin/home">Web App</a></li><li><a href="https://chromewebstore.google.com/detail/keepreap/oejbdpilpmhphopjidgpfbonoepgngim" target="_blank" rel="noopener noreferrer" class="text-brand-on-primary hover:text-brand-on-dark-soft text-sm transition-colors">Chrome Extension</a></li><li><a href="https://github.com/ocxers/keepreap-releases/releases/latest/download/KeepReap-macOS.dmg" class="text-brand-on-primary hover:text-brand-on-dark-soft text-sm transition-colors">Mac App</a></li></ul></div><div><p class="text-brand-on-dark-soft mb-6 font-mono text-xs font-semibold uppercase tracking-[0.18em]">Languages</p><ul class="space-y-3"><li><a hreflang="en" aria-current="true" class="text-brand-on-primary hover:text-brand-on-dark-soft text-left text-sm transition-colors font-semibold" href="/">English</a></li><li><a hreflang="zh-CN" class="text-brand-on-primary hover:text-brand-on-dark-soft text-left text-sm transition-colors" href="/zh-cn">ç®ä½ä¸æ</a></li><li><a hreflang="zh-TW" class="text-brand-on-primary hover:text-brand-on-dark-soft text-left text-sm transition-colors" href="/zh-tw">ç¹é«ä¸æ</a></li><li><a hreflang="ja" class="text-brand-on-primary hover:text-brand-on-dark-soft text-left text-sm transition-colors" href="/ja">æ¥æ¬èª</a></li><li><a hreflang="ko" class="text-brand-on-primary hover:text-brand-on-dark-soft text-left text-sm transition-colors" href="/ko">íêµì´</a></li><li><a hreflang="mk" class="text-brand-on-primary hover:text-brand-on-dark-soft text-left text-sm transition-colors" href="/mk">македонÑки</a></li><li><a hreflang="uk" class="text-brand-on-primary hover:text-brand-on-dark-soft text-left text-sm transition-colors" href="/uk">УкÑаÑнÑÑка</a></li><li><a hreflang="fil" class="text-brand-on-primary hover:text-brand-on-dark-soft text-left text-sm transition-colors" href="/fil">Filipino</a></li><li><a hreflang="vi" class="text-brand-on-primary hover:text-brand-on-dark-soft text-left text-sm transition-colors" href="/vi">Tiếng Viá»t</a></li></ul></div><div><p class="text-brand-on-dark-soft mb-6 font-mono text-xs font-semibold uppercase tracking-[0.18em]">Theme</p><ul class="space-y-3"><li><button type="button" class="text-brand-on-primary hover:text-brand-on-dark-soft text-left text-sm transition-colors" aria-pressed="false">Light</button></li><li><button type="button" class="text-brand-on-primary hover:text-brand-on-dark-soft text-left text-sm transition-colors font-semibold" aria-pressed="true">Warm</button></li><li><button type="button" class="text-brand-on-primary hover:text-brand-on-dark-soft text-left text-sm transition-colors" aria-pressed="false">Ink</button></li><li><button type="button" class="text-brand-on-primary hover:text-brand-on-dark-soft text-left text-sm transition-colors" aria-pressed="false">Night</button></li></ul></div></div><div class="mt-16"><p class="text-brand-on-dark-soft mb-4 font-mono text-xs font-semibold uppercase tracking-[0.18em]">Friends</p><ul class="flex flex-wrap gap-x-6 gap-y-3"><li><a href="https://soulvirtues.com/" target="_blank" rel="noopener noreferrer" class="text-brand-on-primary hover:text-brand-on-dark-soft text-sm transition-colors">Soul Virtues Extractor</a></li><li><a href="https://relocateireland.ie/" target="_blank" rel="noopener noreferrer" class="text-brand-on-primary hover:text-brand-on-dark-soft text-sm transition-colors">Relocate Ireland</a></li></ul></div><div class="border-brand-surface-dark-elevated mt-10 flex flex-col items-center justify-between gap-4 border-t pt-8 md:flex-row"><p class="text-brand-on-dark-soft order-3 inline-flex items-center gap-1.5 text-xs md:order-1">Made for people who reap what they read.<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-heart text-brand-accent-amber h-3 w-3" aria-hidden="true"><path d="M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z"></path></svg></p><nav aria-label="Footer" class="text-brand-on-primary order-1 flex items-center gap-6 text-xs md:order-2"><a class="hover:text-brand-on-dark-soft transition-colors" href="/privacy">Privacy</a><a class="hover:text-brand-on-dark-soft transition-colors" href="/terms">Terms</a><a class="hover:text-brand-on-dark-soft transition-colors" href="/support">Support</a></nav><p class="text-brand-on-dark-soft order-2 text-xs md:order-3">© 2026 KeepReap. All rights reserved.</p></div></div></footer></main><section role="region" aria-label="Cookies and analytics" class="bg-brand-bg border-brand-border-subtle fixed bottom-4 left-4 right-4 z-50 rounded-2xl border p-4 shadow-lg sm:right-auto sm:max-w-sm"><p class="text-brand-text-1 text-sm font-medium">Cookies and analytics</p><p class="text-brand-text-2 mt-1 text-sm leading-relaxed">We use Google Analytics to understand how KeepReap is used, and our pages load Google AdSense. Neither sets cookies unless you accept. Read our <a class="text-brand-text-1 underline underline-offset-2" href="/privacy">Privacy Policy</a>.</p><div class="mt-3 flex justify-end gap-2"><button type="button" class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-full font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none bg-transparent text-brand-text-1 border border-brand-border hover:bg-brand-surface focus-visible:ring-brand-text-1 h-8 px-4 text-xs">Decline</button><button type="button" class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-full font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none bg-brand-primary text-brand-on-primary hover:bg-brand-primary-hover focus-visible:ring-brand-link h-8 px-4 text-xs">Accept</button></div></section></div>
vendor: 113 bytes, lines 2833-2836
2833 2834 2835 2836<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
2836<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":"f1f816d008ef40e198393b30f1df4112","r":1,"spa":2}' crossorigin="anonymous"></script>
2836 2837</body></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.