PageSourceSearch

https://ottline.app/en/account

html ottline.app collected 2026-10-02 01:14:26 UTC 98,345 bytes, 36 lines download raw bytes

1<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"/><link rel="stylesheet" href="/_next/static/chunks/0ut3.-0~o~01p.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/0t1et0tty8o9s.js"/>
1<script src="/_next/static/chunks/0oo0vigf9.ti6.js" async=""></script>
1<script src="/_next/static/chunks/0v9c2uadhpd-i.js" async=""></script>
1<script src="/_next/static/chunks/0o59ac8426icc.js" async=""></script>
1<script src="/_next/static/chunks/0pqt~8bl3ukh4.js" async=""></script>
1<script src="/_next/static/chunks/turbopack-08-aa8-a3mw6s.js" async=""></script>
1<script src="/_next/static/chunks/01xlw8hd842-c.js" async=""></script>
1<script src="/_next/static/chunks/0d3shmwh5_nmn.js" async=""></script>
1<script src="/_next/static/chunks/163is8fnw~88-.js" async=""></script>
1<script src="/_next/static/chunks/0yju5kiy8-av..js" async=""></script>
1<script src="/_next/static/chunks/0z.xuidktnzpd.js" async=""></script>
1<script src="/_next/static/chunks/1608cak20tcw1.js" async=""></script>
1<script src="/_next/static/chunks/0cib-26h5cfes.js" async=""></script>
1<script src="/_next/static/chunks/0fwj48r9.vxw6.js" async=""></script>
1<link rel="preload" href="https://www.googletagmanager.com/gtag/js?id=G-61XBJHSN8G" as="script"/><meta name="naver-site-verification" content="d48c8e320c660f8e8f1291f6cad71bc39e268d10"/><meta name="theme-color" content="#F8F6F2" media="(prefers-color-scheme: light)"/><meta name="theme-color" content="#15120F" media="(prefers-color-scheme: dark)"/><meta name="color-scheme" content="light dark"/><title>ottline | Video and Book Logs in 10 Seconds</title><meta name="description" content="Log OTT watch history, movies, series, and books in 10 seconds without sign-up. Build your own personal timeline."/><link rel="manifest" href="/manifest.webmanifest"/><meta name="robots" content="noindex, nofollow"/><meta name="googlebot" content="noindex, nofollow"/><meta name="mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-title" content="ottline"/><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/><meta property="og:title" content="ottline"/><meta property="og:description" content="Log OTT watch history, movies, series, and books in 10 seconds without sign-up. Build your own personal timeline."/><meta property="og:url" content="https://ottline.app/en"/><meta property="og:site_name" content="ottline"/><meta property="og:locale" content="en_US"/><meta property="og:image" content="https://ottline.app/og-image-20260418.png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="ottline"/><meta name="twitter:description" content="Log OTT watch history, movies, series, and books in 10 seconds without sign-up. Build your own personal timeline."/><meta name="twitter:image" content="https://ottline.app/og-image-20260418.png"/><link rel="icon" href="/favicon.ico?favicon.0csd.uszlt5v4.ico" sizes="16x16" type="image/x-icon"/><link rel="icon" href="/icon.png"/><link rel="apple-touch-icon" href="/apple-touch-icon.png"/>
1<script>
2(() => {
3  try {
4    const themeBackground = { light: "#F8F6F2", dark: "#15120F" };
5    const root = document.documentElement;
6    const mode = localStorage.getItem("theme-mode") || "system";
7    const prefersDark = window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches;
8    const isDark = mode === "dark" || (mode === "system" && prefersDark);
9    const resolvedTheme = isDark ? "dark" : "light";
10    const background = themeBackground[resolvedTheme];
11    root.classList.toggle("dark", isDark);
12    root.dataset.theme = resolvedTheme;
13    root.style.colorScheme = resolvedTheme;
14    root.style.backgroundColor = background;
15    const applyBodyBackground = () => {
16      if (document.body) {
17        document.body.style.backgroundColor = background;
18      }
19    };
20    applyBodyBackground();
21    if (!document.body) {
22      document.addEventListener("DOMContentLoaded", applyBodyBackground, { once: true });
23    }
24    let themeColors = document.querySelectorAll('meta[name="theme-color"]');
25    if (themeColors.length === 0) {
26      const themeColor = document.createElement("meta");
27      themeColor.setAttribute("name", "theme-color");
28      document.head.appendChild(themeColor);
29      themeColors = document.querySelectorAll('meta[name="theme-color"]');
30    }
31    themeColors.forEach((themeColor) => themeColor.setAttribute("content", background));
32  } catch (_) {}
33})();
34</script>
34<script id="organization-json-ld" type="application/ld+json">{"@context":"https://schema.org","@type":"Organization","name":"ottline","url":"https://ottline.app","logo":{"@type":"ImageObject","url":"https://ottline.app/icon.png","width":512,"height":512},"description":"Log OTT watch history, movies, series, and books in 10 seconds without sign-up. Build your own personal timeline.","inLanguage":"en-US","sameAs":["https://www.wikidata.org/wiki/Q138822579"]}</script>
34<script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script>
34</head><body class="min-h-screen bg-background text-foreground font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><header class="sticky top-0 z-50 border-b border-border bg-card/85 backdrop-blur-md transition-colors duration-200"><div class="mx-auto flex max-w-5xl flex-col gap-4 px-4 py-4 sm:flex-row sm:items-center sm:justify-between"><div class="flex w-full items-center justify-between gap-3 sm:w-auto"><a class="flex items-center gap-2 rounded-2xl transition-opacity hover:opacity-85" href="/en"><img alt="" loading="lazy" width="40" height="40" decoding="async" data-nimg="1" class="h-10 w-10" style="color:transparent" srcSet="/_next/image?url=%2Fottline_logo.png&amp;w=48&amp;q=75 1x, /_next/image?url=%2Fottline_logo.png&amp;w=96&amp;q=75 2x" src="/_next/image?url=%2Fottline_logo.png&amp;w=96&amp;q=75"/><span class="leading-none"><span class="block text-3xl font-bold tracking-tight" style="color:#1E4D8C">ottline</span><span class="block text-[9px] font-semibold tracking-widest uppercase" style="color:#FF9933">On the Timeline</span></span></a><div class="flex items-center gap-2"><fieldset class="flex items-center rounded-full border border-border bg-ott-paper/90 p-0.5" aria-label="Switch language"><legend class="sr-only">Switch language</legend><button type="button" lang="ko" class="inline-flex h-7 min-w-7 items-center justify-center rounded-full px-2 text-[9px] font-semibold uppercase tracking-[0.1em] transition focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring sm:h-6 sm:min-w-6 text-muted-foreground hover:bg-ott-paper-strong hover:text-foreground" aria-pressed="false" aria-label="Switch to Korean" title="Switch to Korean">KO</button><button type="button" lang="en" class="inline-flex h-7 min-w-7 items-center justify-center rounded-full px-2 text-[9px] font-semibold uppercase tracking-[0.1em] transition focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring sm:h-6 sm:min-w-6 bg-card text-foreground shadow-sm ring-1 ring-border" aria-pressed="true" aria-label="Current language: English" title="Current language: English">EN</button></fieldset><button type="button" class="flex min-h-11 min-w-11 items-center justify-center rounded-xl p-2 text-foreground/70 transition hover:bg-ott-paper-strong hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring sm:min-h-9 sm:min-w-9" title="Theme: System (Click to change)" aria-label="Change theme: currently System"><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-monitor h-4 w-4" aria-hidden="true"><rect width="20" height="14" x="2" y="3" rx="2"></rect><line x1="8" x2="16" y1="21" y2="21"></line><line x1="12" x2="12" y1="17" y2="21"></line></svg></button></div></div><nav class="app-top-nav hidden w-full items-center gap-1 sm:flex sm:w-auto sm:flex-nowrap sm:gap-2"><a class="relative w-full rounded-xl px-1.5 py-2 text-[11px] font-medium transition focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#FF9933]/40 sm:w-auto sm:px-3 sm:text-sm text-muted-foreground hover:bg-ott-paper-strong hover:text-foreground" data-active="false" href="/en"><span class="flex items-center justify-center gap-1.5 whitespace-nowrap sm:justify-start sm:gap-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-pencil-line h-4 w-4" aria-hidden="true"><path d="M13 21h8"></path><path d="m15 5 4 4"></path><path d="M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"></path></svg>Log</span><span aria-hidden="true" class="absolute bottom-0 left-1/2 h-0.5 w-5 -translate-x-1/2 rounded-full bg-[#FF9933] transition-opacity opacity-0"></span></a><a class="relative w-full rounded-xl px-1.5 py-2 text-[11px] font-medium transition focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#FF9933]/40 sm:w-auto 
34sm:px-3 sm:text-sm text-muted-foreground hover:bg-ott-paper-strong hover:text-foreground" data-active="false" href="/en/timeline"><span class="flex items-center justify-center gap-1.5 whitespace-nowrap sm:justify-start sm:gap-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-clock h-4 w-4" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>Timeline</span><span aria-hidden="true" class="absolute bottom-0 left-1/2 h-0.5 w-5 -translate-x-1/2 rounded-full bg-[#FF9933] transition-opacity opacity-0"></span></a><a class="relative w-full rounded-xl px-1.5 py-2 text-[11px] font-medium transition focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#FF9933]/40 sm:w-auto sm:px-3 sm:text-sm text-muted-foreground hover:bg-ott-paper-strong hover:text-foreground" data-active="false" href="/en/public"><span class="flex items-center justify-center gap-1.5 whitespace-nowrap sm:justify-start sm:gap-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-message-circle h-4 w-4" aria-hidden="true"><path d="M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719"></path></svg>Together</span><span aria-hidden="true" class="absolute bottom-0 left-1/2 h-0.5 w-5 -translate-x-1/2 rounded-full bg-[#FF9933] transition-opacity opacity-0"></span></a><a class="relative w-full rounded-xl px-1.5 py-2 text-[11px] font-medium transition focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#FF9933]/40 sm:w-auto sm:px-3 sm:text-sm bg-ott-paper-strong text-foreground shadow-sm ring-1 ring-border" aria-current="page" data-active="true" href="/en/account"><span class="flex items-center justify-center gap-1.5 whitespace-nowrap sm:justify-start sm:gap-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-settings h-4 w-4" aria-hidden="true"><path d="M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915"></path><circle cx="12" cy="12" r="3"></circle></svg>Settings</span><span aria-hidden="true" class="absolute bottom-0 left-1/2 h-0.5 w-5 -translate-x-1/2 rounded-full bg-[#FF9933] transition-opacity opacity-100"></span></a></nav></div></header><main class="mx-auto max-w-5xl px-4 py-8 pb-[var(--mobile-bottom-content-padding)] sm:py-10 sm:pb-10"><!--$?--><template id="B:0"></template><div class="min-h-[calc(100dvh-var(--mobile-bottom-nav-height)-10rem)] space-y-6 bg-background text-foreground"><div class="space-y-3"><div class="h-8 w-40 animate-pulse rounded-lg bg-muted"></div><div class="h-4 w-64 max-w-full animate-pulse rounded bg-muted"></div></div><div class="space-y-3 rounded-2xl border border-border bg-card p-4 shadow-sm"><div class="h-12 animate-pulse rounded-xl bg-muted"></div><div class="grid grid-cols-2 gap-3"><div class="h-28 animate-pulse rounded-xl bg-muted"></div><div class="h-28 animate-pulse rounded-xl bg-muted"></div></div></div><div class="h-24 animate-pulse rounded-2xl border border-border bg-card"></div></div><!--/$--></main><footer class="mt-20 border-t py-12 pb-[var(--mobile-bottom-content-padding)] sm:pb-12 border-border bg-ott-paper-strong/70 dark:bg-card/80"><div class="mx-auto max-w-5xl px-4"><div class="grid grid-cols-1 gap-10 md:grid-cols-3"><div class="space-y-4"><div class="text-sm font-bold tracking-tighter text-foreground">ottline</div><p class="text-xs leading-relaxed text-muted-foreground">Fast and simple OTT watch logs, movie logs, and book logs. Build your own timeline.</p></div><div class="space-y-4"><h3 class="text-xs font-bold uppercase tracking-widest text-foreground">Guide</h3><ul class="space-y-2 text-xs text-muted-foreground"><li><a class="font-semibold text-brand-navy hover:underline dark:text-foreground" href="/en/guide">Logging Guides</a></li><li><a class="hover:underline" href="/en/about">About Service</a></li><li><a class="hover:underline" href="/en/faq">FAQ</a></li><li><a class="hover:underline" href="/en/privacy">Privacy Policy</a></li><li><a class="hover:underline" href="/en/feedback">Contact</a></li></ul></div><div class="space-y-4 text-xs text-muted-foreground"><p>© <!-- -->2026<!-- --> <!-- -->ottline<!-- -->. <!-- -->All rights reserved.</p><a href="/cdn-cgi/l/email-protection#eb8884859f8a889fab849f9f8782858ec58a9b9b" class="block hover:underline"><span class="__cf_email__" data-cfemail="e784888993868493a78893938b8e8982c9869797">[email&#160;protected]</span></a></div></div></div></footer><nav class="app-bottom-nav fixed left-3 right-3 bottom-[calc(var(--mobile-safe-area-bottom)+0.75rem)] z-50 flex min-h-16 rounded-[28px] border border-border bg-card/95 p-1.5 shadow-[0_18px_50px_rgba(15,15,15,0.12)] backdrop-blur-xl transition-colors duration-200 dark:bg-card/90 sm:hidden"><a data-bottom-nav-href="/" class="group relative flex min-h-14 flex-1 touch-manipulation select-none flex-col items-center justify-center gap-1 rounded-2xl px-1 py-1.5 text-[10px] font-medium transition-colors [-webkit-tap-highlight-color:transparent] active:bg-transparent focus:outline-none focus-visible:ring-2 focus-visible:ring-[#FF9933]/40 text-muted-foreground hover:bg-ott-paper-strong/70 hover:text-foreground
34/80 active:text-[#4A4A4A]" data-active="false" href="/en"><span aria-hidden="true" class="absolute top-1 h-0.5 w-5 rounded-full bg-[#FF9933] transition-opacity opacity-0"></span><div class="flex h-8 w-12 items-center justify-center rounded-full transition-all bg-transparent group-hover:bg-card/80"><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 h-5 w-5 transition-transform scale-100" aria-hidden="true"><path d="M13 21h8"></path><path d="m15 5 4 4"></path><path d="M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"></path></svg></div><span class="bottom-nav-label max-w-full truncate rounded-full px-1.5 leading-5 text-[#4A4A4A] dark:text-[#D8CFC4]" data-active="false">Log</span></a><a data-bottom-nav-href="/timeline" class="group relative flex min-h-14 flex-1 touch-manipulation select-none flex-col items-center justify-center gap-1 rounded-2xl px-1 py-1.5 text-[10px] font-medium transition-colors [-webkit-tap-highlight-color:transparent] active:bg-transparent focus:outline-none focus-visible:ring-2 focus-visible:ring-[#FF9933]/40 text-muted-foreground hover:bg-ott-paper-strong/70 hover:text-foreground/80 active:text-[#4A4A4A]" data-active="false" href="/en/timeline"><span aria-hidden="true" class="absolute top-1 h-0.5 w-5 rounded-full bg-[#FF9933] transition-opacity opacity-0"></span><div class="flex h-8 w-12 items-center justify-center rounded-full transition-all bg-transparent group-hover:bg-card/80"><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-clock h-5 w-5 transition-transform scale-100" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg></div><span class="bottom-nav-label max-w-full truncate rounded-full px-1.5 leading-5 text-[#4A4A4A] dark:text-[#D8CFC4]" data-active="false">Timeline</span></a><a data-bottom-nav-href="/public" class="group relative flex min-h-14 flex-1 touch-manipulation select-none flex-col items-center justify-center gap-1 rounded-2xl px-1 py-1.5 text-[10px] font-medium transition-colors [-webkit-tap-highlight-color:transparent] active:bg-transparent focus:outline-none focus-visible:ring-2 focus-visible:ring-[#FF9933]/40 text-muted-foreground hover:bg-ott-paper-strong/70 hover:text-foreground/80 active:text-[#4A4A4A]" data-active="false" href="/en/public"><span aria-hidden="true" class="absolute top-1 h-0.5 w-5 rounded-full bg-[#FF9933] transition-opacity opacity-0"></span><div class="flex h-8 w-12 items-center justify-center rounded-full transition-all bg-transparent group-hover:bg-card/80"><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-circle h-5 w-5 transition-transform scale-100" aria-hidden="true"><path d="M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719"></path></svg></div><span class="bottom-nav-label max-w-full truncate rounded-full px-1.5 leading-5 text-[#4A4A4A] dark:text-[#D8CFC4]" data-active="false">Together</span></a><a data-bottom-nav-href="/account" class="group relative flex min-h-14 flex-1 touch-manipulation select-none flex-col items-center justify-center gap-1 rounded-2xl px-1 py-1.5 text-[10px] font-medium transition-colors [-webkit-tap-highlight-color:transparent] active:bg-transparent focus:outline-none focus-visible:ring-2 focus-visible:ring-[#FF9933]/40 text-foreground" aria-current="page" data-active="true" href="/en/account"><span aria-hidden="true" class="absolute top-1 h-0.5 w-5 rounded-full bg-[#FF9933] transition-opacity opacity-100"></span><div class="flex h-8 w-12 items-center justify-center rounded-full transition-all bg-ott-paper-strong text-[#1E4D8C] shadow-sm ring-1 ring-border dark:text-foreground"><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 h-5 w-5 transition-transform scale-110" aria-hidden="true"><path d="M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915"></path><circle cx="12" cy="12" r="3"></circle></svg></div><span class="bottom-nav-label max-w-full truncate rounded-full px-1.5 leading-5 font-semibold" data-active="true">Settings</span></a></nav>
vendor: 108 bytes, line 34
34<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
34<script>requestAnimationFrame(function(){$RT=performance.now()});</script>
34<script src="/_next/static/chunks/0t1et0tty8o9s.js" id="_R_" async=""></script>
34<div hidden id="S:0"><div class="space-y-8"><header class="space-y-1"><h1 class="flex items-center gap-2 text-2xl font-bold tracking-tight"><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 h-6 w-6" aria-hidden="true"><path d="M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915"></path><circle cx="12" cy="12" r="3"></circle></svg>Settings</h1><p class="text-sm text-muted-foreground">Manage your profile, device connection, inbox, and data in one place.</p></header><div class="space-y-3"><div class="space-y-1 px-1"><h2 class="text-xs font-bold uppercase tracking-wide text-muted-foreground">My Space</h2><p class="text-sm text-muted-foreground">Manage the profile information shown around your timeline.</p></div><div class="space-y-4"><section class="space-y-4 rounded-2xl border border-border bg-card p-6 shadow-sm"><button type="button" aria-expanded="false" class="flex w-full items-start justify-between gap-3 text-left"><div class="flex min-w-0 items-start gap-3"><div class="shrink-0 rounded-2xl bg-ott-paper-strong p-2 text-[#1E4D8C] dark:text-foreground"><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-user-round h-5 w-5" aria-hidden="true"><circle cx="12" cy="8" r="5"></circle><path d="M20 21a8 8 0 0 0-16 0"></path></svg></div><div class="min-w-0 space-y-1"><div class="text-base font-semibold">My Profile</div><p class="text-sm text-muted-foreground">Add a nickname and avatar to the timeline that follows you without sign-up.</p></div></div><div class="flex shrink-0 items-center gap-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-chevron-down mt-1 h-5 w-5 text-muted-foreground transition-transform" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></div></button></section></div></div><div class="space-y-3"><div class="space-y-1 px-1"><h2 class="text-xs font-bold uppercase tracking-wide text-muted-foreground">Device Connection</h2><p class="text-sm text-muted-foreground">Use pairing codes to keep the same timeline across devices.</p></div><div class="space-y-4"><section class="space-y-4 rounded-2xl border border-border bg-card p-6 shadow-sm"><div class="space-y-1"><div class="text-sm font-semibold">My Pairing Code</div><div class="flex h-12 items-center justify-center text-xl font-bold tracking-widest rounded-xl bg-muted/50">Generating...</div><p class="text-xs text-muted-foreground">Account and pairing code will be created after your first log.</p></div><div class="space-y-3 pt-2"><div class="text-sm font-semibold">Connect Another Device</div><div class="flex flex-col gap-2 sm:flex-row"><input placeholder="Enter pairing code" class="min-h-12 flex-1 px-3 text-sm outline-none rounded-xl border border-border bg-card focus:ring-2 focus:ring-ring/40" value=""/><button type="button" disabled="" class="min-h-[52px] px-5 text-sm font-bold transition-all rounded-xl bg-neutral-900 text-white hover:bg-neutral-800 disabled:opacity-40">Connect</button></div></div></section><section class="space-y-4 rounded-2xl border border-border bg-card p-6 shadow-sm"><button type="button" aria-expanded="false" class="flex w-full items-start justify-between gap-3 text-left"><div class="flex min-w-0 items-start gap-3"><div class="min-w-0 space-y-1"><div class="text-base font-semibold">Connected Devices</div><p class="text-sm text-muted-foreground">Review and clean up devices connected to this account.</p></div></div><div class="flex shrink-0 items-center gap-2"><span class="rounded-full border border-border bg-muted px-2 py-1 text-[11px] font-semibold text-muted-foreground">0 linked</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-chevron-down mt-1 h-5 w-5 text-muted-foreground transition-transform" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></div></button></section><section class="space-y-4 rounded-2xl border border-border bg-card p-6 shadow-sm"><div class="text-sm font-semibold">My Account Info</div><div class="space-y-2 text-xs text-muted-foreground"><div class="flex justify-between"><span>User ID</span><span class="font-mono">—</span></div><div class="flex justify-between"><span>Device ID</span><span class="font-mono">—</span></div><p class="mt-2 opacity-70">Account info may be empty before your first log.</p></div></section></div></div><div class="space-y-3"><div class="space-y-1 px-1"><h2 class="text-xs font-bold uppercase tracking-wide text-muted-foreground">Support</h2><p class="text-sm text-muted-foreground">Use your inbox to send questions and check replies.</p></div><div class="space-y-4"><section class="space-y-4 rounded-2xl border border-border bg-card p-6 shadow-sm"><div><div class="text-base font-semibold">Contact Inbox</div><p class="text-sm text-muted-foreground">Leave questions or issues in your personal inbox and check replies there.</p></div><a class="flex w-full items-center justify-center gap-2 px-4 py-3 text-center text-sm font-bold transition-all break-keep rounded-2xl border border-border bg-card text-foreground hover:bg-muted" href="/en/feedback">Open My Inbox</a></section></div></div><div class="space-y-3"><div class="space-y-1 px-1"><h2 class="text-xs font-bold uppercase tracking-wide text-muted-foreground">Data Management</h2><p class="text-sm text-muted-foreground">Export, local reset, and server data deletion live here.</p></div><div class="space-y-4"><section class="space-y-4 rounded-2xl border border-border bg-card p-6 shadow-sm"><div><div class="text-base font-semibold">Export My Logs</div><p class="text-sm text-muted-foreground">Export will be available after your first log.</p></div><div class="flex flex-col gap-4"><div class="space-y-2"><div class="px-1 text-xs font-semibold text-muted-foreground">Export Range</div><div class="grid grid-cols-3 gap-2"><button type="button" class="min-h-[52px] rounded-xl border px-2 text-xs font-medium transition-all border-[#1E4D8C]/40 bg-ott-paper-strong text-[#1E4D8C] shadow-sm ring-1 ring-[#1E4D8C]/15 dark:border-border dark:text-foreground dark:ring-border">All</button><button type="button" class="min-h-[52px] rounded-xl border px-2 text-xs font-medium transition-all border-border bg-card text-muted-foreground hover:bg-muted">Video (Movie/Series)</button><button type="button" class="min-h-[52px] rounded-xl border px-2 text-xs font-medium transition-all border-border bg-card text-muted-foreground hover:bg-muted">Book</button></div></div><button type="button" disabled="" class="min-h-[52px] w-full rounded-2xl bg-neutral-900 text-sm font-semibold text-white transition-all hover:bg-neutral-800 disabled:opacity-40">Download CSV</button><p class="text-center text-[11px] text-muted-foreground">Ensure sync is complete to include the latest logs in your export.</p></div></section><section class="space-y-4 rounded-2xl border border-border bg-card p-6 shadow-sm"><div><div class="text-sm font-semibold">Reset Local Data</div><p class="text-xs text-muted-foreground">Delete all logs and cache on this device. Server data remains safe.</p></div><button type="button" class="min-h-[52px] w-full rounded-2xl border border-red-200 bg-red-50 text-sm font-bold text-red-600 transition-all hover:bg-red-100">Reset Local</button></section><section class="space-y-4 rounded-2xl border border-red-200 bg-red-50/60 p-6 shadow-sm"><div><div class="text-sm font-semibold text-red-700">Delete All Server Data</div><p class="text-xs text-red-700/80">Delete synced logs, comments, inbox messages, analytics data, and all linked devices for this account. Local data on this device will also be cleared.</p></div><button type="button" disabled="" class="min-h-[52px] w-full rounded-2xl border border-red-300 bg-red-600 text-sm font-bold text-white transition-all hover:bg-red-700 disabled:opacity-40">Delete All Server Data</button></section></div></div></div><!--$--><!--/$--></div>
34<script>$RB=[];$RV=function(a){$RT=performance.now();for(var b=0;b<a.length;b+=2){var c=a[b],e=a[b+1];null!==e.parentNode&&e.parentNode.removeChild(e);var f=c.parentNode;if(f){var g=c.previousSibling,h=0;do{if(c&&8===c.nodeType){var d=c.data;if("/$"===d||"/&"===d)if(0===h)break;else h--;else"$"!==d&&"$?"!==d&&"$~"!==d&&"$!"!==d&&"&"!==d||h++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;e.firstChild;)f.insertBefore(e.firstChild,c);g.data="$";g._reactRetry&&requestAnimationFrame(g._reactRetry)}}a.length=0};
35$RC=function(a,b){if(b=document.getElementById(b))(a=document.getElementById(a))?(a.previousSibling.data="$~",$RB.push(a,b),2===$RB.length&&("number"!==typeof $RT?requestAnimationFrame($RV.bind(null,$RB)):(a=performance.now(),setTimeout($RV.bind(null,$RB),2300>a&&2E3<a?2300-a:$RT+300-a)))):b.parentNode.removeChild(b)};$RC("B:0","S:0")</script>
35<script>(self.__next_f=self.__next_f||[]).push([0])</script>
35<script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[39756,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\"]\n3:I[37457,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\"]\n4:I[39756,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"LoadingBoundaryProvider\"]\n6:I[47257,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"ClientPageRoot\"]\n7:I[4617,[\"/_next/static/chunks/163is8fnw~88-.js\",\"/_next/static/chunks/0yju5kiy8-av..js\",\"/_next/static/chunks/0z.xuidktnzpd.js\",\"/_next/static/chunks/1608cak20tcw1.js\",\"/_next/static/chunks/0cib-26h5cfes.js\",\"/_next/static/chunks/0fwj48r9.vxw6.js\"],\"default\"]\na:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"OutletBoundary\"]\nb:\"$Sreact.suspense\"\ne:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"ViewportBoundary\"]\n10:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"MetadataBoundary\"]\n12:I[68027,[],\"default\",1]\n:HL[\"/_next/static/chunks/0ut3.-0~o~01p.css\",\"style\"]\n"])</script>
35<script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"en\",\"account\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[[\"locale\",\"en\",\"d\",null],{\"children\":[\"account\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",20]},\"$undefined\",\"$undefined\",8],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$L4\",null,{\"loading\":[[\"$\",\"div\",\"l\",{\"className\":\"min-h-[calc(100dvh-var(--mobile-bottom-nav-height)-10rem)] space-y-6 bg-background text-foreground\",\"children\":[[\"$\",\"div\",null,{\"className\":\"space-y-3\",\"children\":[[\"$\",\"div\",null,{\"className\":\"h-8 w-40 animate-pulse rounded-lg bg-muted\"}],[\"$\",\"div\",null,{\"className\":\"h-4 w-64 max-w-full animate-pulse rounded bg-muted\"}]]}],[\"$\",\"div\",null,{\"className\":\"space-y-3 rounded-2xl border border-border bg-card p-4 shadow-sm\",\"children\":[[\"$\",\"div\",null,{\"className\":\"h-12 animate-pulse rounded-xl bg-muted\"}],[\"$\",\"div\",null,{\"className\":\"grid grid-cols-2 gap-3\",\"children\":[[\"$\",\"div\",null,{\"className\":\"h-28 animate-pulse rounded-xl bg-muted\"}],[\"$\",\"div\",null,{\"className\":\"h-28 animate-pulse rounded-xl bg-muted\"}]]}]]}],[\"$\",\"div\",null,{\"className\":\"h-24 animate-pulse rounded-2xl border border-border bg-card\"}]]}],[],[]],\"children\":[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0ut3.-0~o~01p.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/163is8fnw~88-.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/0yju5kiy8-av..js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/0z.xuidktnzpd.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/_next/static/chunks/1608cak20tcw1.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-4\",{\"src\":\"/_next/static/chunks/0cib-26h5cfes.js\",\"async\":true,\"nonce\":\"$undefined\"}]],\"$L5\"]}]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L6\",null,{\"Component\":\"$7\",\"serverProvidedParams\":{\"searchParams\":{},\"params\":{\"locale\":\"en\"},\"promises\":[\"$@8\",\"$@9\"]}}],[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/0fwj48r9.vxw6.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$La\",null,{\"children\":[\"$\",\"$b\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@c\"}]}]]}],{}
35,null,false,null]},null,false,null]},null,false,null]},null,false,\"$@d\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$Le\",null,{\"children\":\"$Lf\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L10\",null,{\"children\":[\"$\",\"$b\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L11\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$12\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"dzpqRoBErekOowmcvQuFB\"}\n"])</script>
35<script>self.__next_f.push([1,"13:[]\nd:\"$W13\"\n8:{}\n9:\"$0:f:0:1:1:children:1:children:1:children:0:props:children:0:props:serverProvidedParams:params\"\n"])</script>
35<script>self.__next_f.push([1,"15:I[79520,[\"/_next/static/chunks/163is8fnw~88-.js\",\"/_next/static/chunks/0yju5kiy8-av..js\",\"/_next/static/chunks/0z.xuidktnzpd.js\",\"/_next/static/chunks/1608cak20tcw1.js\",\"/_next/static/chunks/0cib-26h5cfes.js\"],\"\"]\n14:T57a,"])</script>
35<script>self.__next_f.push([1,"\n(() =\u003e {\n  try {\n    const themeBackground = { light: \"#F8F6F2\", dark: \"#15120F\" };\n    const root = document.documentElement;\n    const mode = localStorage.getItem(\"theme-mode\") || \"system\";\n    const prefersDark = window.matchMedia \u0026\u0026 window.matchMedia(\"(prefers-color-scheme: dark)\").matches;\n    const isDark = mode === \"dark\" || (mode === \"system\" \u0026\u0026 prefersDark);\n    const resolvedTheme = isDark ? \"dark\" : \"light\";\n    const background = themeBackground[resolvedTheme];\n    root.classList.toggle(\"dark\", isDark);\n    root.dataset.theme = resolvedTheme;\n    root.style.colorScheme = resolvedTheme;\n    root.style.backgroundColor = background;\n    const applyBodyBackground = () =\u003e {\n      if (document.body) {\n        document.body.style.backgroundColor = background;\n      }\n    };\n    applyBodyBackground();\n    if (!document.body) {\n      document.addEventListener(\"DOMContentLoaded\", applyBodyBackground, { once: true });\n    }\n    let themeColors = document.querySelectorAll('meta[name=\"theme-color\"]');\n    if (themeColors.length === 0) {\n      const themeColor = document.createElement(\"meta\");\n      themeColor.setAttribute(\"name\", \"theme-color\");\n      document.head.appendChild(themeColor);\n      themeColors = document.querySelectorAll('meta[name=\"theme-color\"]');\n    }\n    themeColors.forEach((themeColor) =\u003e themeColor.setAttribute(\"content\", background));\n  } catch (_) {}\n})();\n"])</script>
35<script>self.__next_f.push([1,"5:[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"$14\"}}],[\"$\",\"meta\",null,{\"name\":\"naver-site-verification\",\"content\":\"d48c8e320c660f8e8f1291f6cad71bc39e268d10\"}],[\"$\",\"script\",null,{\"id\":\"organization-json-ld\",\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Organization\\\",\\\"name\\\":\\\"ottline\\\",\\\"url\\\":\\\"https://ottline.app\\\",\\\"logo\\\":{\\\"@type\\\":\\\"ImageObject\\\",\\\"url\\\":\\\"https://ottline.app/icon.png\\\",\\\"width\\\":512,\\\"height\\\":512},\\\"description\\\":\\\"Log OTT watch history, movies, series, and books in 10 seconds without sign-up. Build your own personal timeline.\\\",\\\"inLanguage\\\":\\\"en-US\\\",\\\"sameAs\\\":[\\\"https://www.wikidata.org/wiki/Q138822579\\\"]}\"}}],[\"$\",\"$L15\",null,{\"id\":\"gtag-src\",\"strategy\":\"afterInteractive\",\"src\":\"https://www.googletagmanager.com/gtag/js?id=G-61XBJHSN8G\"}],[\"$\",\"$L15\",null,{\"id\":\"gtag-init\",\"strategy\":\"afterInteractive\",\"children\":\"
vendor: 124 bytes, line 35
35window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag('js', new Date());gtag('config', '
35G-61XBJHSN8G
vendor: 3 bytes, line 35
35');
35\"}],[\"$\",\"$L15\",null,{\"id\":\"clarity-init\",\"strategy\":\"afterInteractive\",\"children\":\"(function(c,l,a,r,i,t,y){c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};t=l.createElement(r);t.async=1;t.src=\\\"https://www.clarity.ms/tag/\\\"+i;y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);})(window,document,\\\"clarity\\\",\\\"script\\\",\\\"vwj7yzqkow\\\");\"}],[\"$\",\"$L15\",null,{\"id\":\"service-worker-init\",\"strategy\":\"afterInteractive\",\"children\":\"\\n(() =\u003e {\\n  if (!(\\\"serviceWorker\\\" in navigator)) return;\\n  if (!window.isSecureContext) return;\\n  const registerServiceWorker = () =\u003e {\\n    navigator.serviceWorker.register(\\\"/sw.js\\\", { updateViaCache: \\\"none\\\" }).catch(() =\u003e {\\n      // Ignore registration errors to avoid blocking runtime flows.\\n    });\\n  };\\n  if (document.readyState === \\\"complete\\\") {\\n    registerServiceWorker();\\n    return;\\n  }\\n  window.addEventListener(\\\"load\\\", registerServiceWorker, { once: true });\\n})();\\n\"}]]}],\"$L16\"]}]\n"])</script>
35<script>self.__next_f.push([1,"16:[\"$\",\"body\",null,{\"className\":\"min-h-screen bg-background text-foreground font-sans antialiased\",\"children\":\"$L17\"}]\n"])</script>
35<script>self.__next_f.push([1,"f:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, viewport-fit=cover\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#F8F6F2\",\"media\":\"(prefers-color-scheme: light)\"}],[\"$\",\"meta\",\"3\",{\"name\":\"theme-color\",\"content\":\"#15120F\",\"media\":\"(prefers-color-scheme: dark)\"}],[\"$\",\"meta\",\"4\",{\"name\":\"color-scheme\",\"content\":\"light dark\"}]]\n"])</script>
35<script>self.__next_f.push([1,"18:I[75696,[\"/_next/static/chunks/163is8fnw~88-.js\",\"/_next/static/chunks/0yju5kiy8-av..js\",\"/_next/static/chunks/0z.xuidktnzpd.js\",\"/_next/static/chunks/1608cak20tcw1.js\",\"/_next/static/chunks/0cib-26h5cfes.js\"],\"default\"]\n"])</script>
35<script>self.__next_f.push([1,"17:[\"$\",\"$L18\",null,{\"formats\":\"$undefined\",\"locale\":\"en\",\"messages\":{\"Index\":{\"title\":\"Welcome\"},\"AppHeader\":{\"themeSystem\":\"System\",\"themeDark\":\"Dark\",\"themeLight\":\"Light\",\"themeChangeCurrent\":\"Change theme: currently {theme}\",\"themeClickToChange\":\"Theme: {theme} (Click to change)\",\"languageSwitcher\":\"Switch language\",\"languageKorean\":\"Korean\",\"languageEnglish\":\"English\",\"languageActive\":\"Current language: {language}\",\"languageSwitchTo\":\"Switch to {language}\",\"backToModern\":\"Back to Modern\",\"navLogModern\":\"Log\",\"navTimelineModern\":\"Timeline\",\"navPublicModern\":\"Together\",\"navAccountModern\":\"Settings\",\"profileLink\":\"Edit my profile\",\"h1RecapNoticeTitle\":\"Ready to revisit the first half of 2026?\",\"h1RecapNoticeAction\":\"View recap\",\"h1RecapNoticeDismiss\":\"Dismiss\",\"titleModern\":\"ottline\"},\"AppFooter\":{\"descriptionModern\":\"Fast and simple OTT watch logs, movie logs, and book logs. Build your own timeline.\",\"sectionGuideModern\":\"Guide\",\"linkGuidesModern\":\"Logging Guides\",\"linkAboutModern\":\"About Service\",\"linkFaqModern\":\"FAQ\",\"linkPrivacyModern\":\"Privacy Policy\",\"linkFeedbackModern\":\"Contact\",\"allRightsReserved\":\"All rights reserved.\",\"titleModern\":\"ottline\"},\"LogCard\":{\"actionWatched\":\"Watched\",\"actionReading\":\"Reading\",\"actionPaused\":\"Paused\",\"actionDropped\":\"Dropped\",\"actionToWatch\":\"Want to watch\",\"actionReadingComplete\":\"Read\",\"typeMovie\":\"Movie\",\"typeSeries\":\"Series\",\"typeBook\":\"Book\",\"deleteConfirmTitle\":\"Are you sure?\",\"deleteConfirmDesc\":\"Deleted logs cannot be recovered.\",\"cancel\":\"Cancel\",\"delete\":\"Delete\",\"copyLinkSuccess\":\"Link copied.\",\"deleteSuccess\":\"Log deleted.\",\"errorUnknown\":\"An error occurred.\",\"share\":\"Share\",\"edit\":\"Edit\",\"detail\":\"Detail\",\"typeSeriesModern\":\"Series\"},\"QuickLogCard\":{\"titleMovieSeries\":\"What did you watch?\",\"titleBook\":\"What did you read?\",\"searchPlaceholder\":\"Search for a title\",\"searchBookPlaceholder\":\"Search by title or author\",\"searchResultEmpty\":\"No results found.\",\"tabVideo\":\"Video\",\"tabBook\":\"Book\",\"actionWatched\":\"Watched\",\"actionReading\":\"Reading\",\"actionToWatch\":\"Want to watch\",\"actionReadingComplete\":\"Read\",\"actionDropped\":\"Dropped\",\"detailStatus\":\"Status\",\"detailRating\":\"Rating\",\"detailDate\":\"Date\",\"detailPlace\":\"Place\",\"detailOccasion\":\"Occasion\",\"detailNote\":\"Note\",\"detailAddNote\":\"Add note\",\"saveAction\":\"Save\",\"cancelAction\":\"Cancel\",\"notePlaceholder\":\"Keep a scene, line, or feeling you may want later.\",\"errorTitleLoad\":\"Failed to load title information.\",\"errorSave\":\"An error occurred while saving the log.\",\"searchStartModern\":\"Find what you want to remember\",\"shareImportTitle\":\"Imported from a share\",\"shareImportDesc\":\"If the search looks wrong, edit the title before saving your log.\",\"shareImportUnresolvedTitle\":\"Could not read the shared content\",\"shareImportUnresolvedDesc\":\"Enter the title manually. Tell us which app failed so we can improve the next update.\",\"shareImportFeedbackAction\":\"Send share feedback\",\"detailPlatform\":\"Platform\",\"saveAndShare\":\"Keep it with others\",\"shareToPublic\":\"Share to public timeline\",\"createShareCard\":\"Create Share Photo Card\",\"saving\":\"Keeping...\",\"saveActionModern\":\"Keep This Log\",\"newBook\":\"New Book\",\"newVideo\":\"New Video\",\"ratingBestVideo\":\"Amazing!\",\"ratingSosoVideo\":\"Soso\",\"ratingBadVideo\":\"Bad...\",\"ratingBestBook\":\"Life-changing\",\"ratingSosoBook\":\"Okay\",\"ratingBadBook\":\"Disappointing\",\"platformNetflix\":\"Netflix\",\"platformDisney\":\"Disney+\",\"platformTving\":\"TVING\",\"platformWavve\":\"Wavve\",\"platformCoupang\":\"Coupang Play\",\"platformApple\":\"Apple TV\",\"platformPrime\":\"Prime Video\",\"platformWatcha\":\"Watcha\",\"platformChannel\":\"TV Channel\",\"platformVod\":\"VOD\",\"platformDvd\":\"DVD\",\"platformBluray\":\"Blu-ray\",\"platformCgv\":\"CGV\",\"platformLotte\":\"Lotte Cinema\",\"platformMegabox\":\"Megabox\",\"platformCineQ\":\"CineQ\",\"groupPaidTv\":\"Paid TV\",\"groupPhysical\":\"Physical Media\",\"groupTheater\":\"Theater\",\"groupBookstore\":\"Bookstore\",\"groupEbook\":\"E-book\",\"groupLibrary\":\"Library\",\"platformKyobo\":\"Kyobo\",\"platformYeongpung\":\"Yeongpung\",\"platformYes24\":\"Yes24\",\"platformAladin\":\"Aladin\",\"platformRidi\":\"Ridi\",\"platformMillie\":\"Millie\",\"platformWilla\":\"W
35illa\",\"platformPlaybook\":\"Play Books\",\"platformPublicLib\":\"Public Library\",\"platformUnivLib\":\"Univ. Library\",\"platformSchoolLib\":\"School Library\",\"searchPlaceholderBook\":\"Search for a book (The Little Prince...)\",\"searchPlaceholderVideo\":\"Search for a title (Dune, The Bear...)\",\"seasonLabel\":\"Season\",\"seasonValue\":\"Season {number}\",\"loadingSeasons\":\"Loading seasons...\",\"episodeLabel\":\"Episode\",\"loadingEpisodes\":\"Loading episodes...\",\"myInput\":\"My Input\",\"customInput\":\"Custom Input\",\"customInputPlaceholder\":\"e.g. Kindle, Library, Audible\",\"dateDirect\":\"Enter date directly\",\"dateOther\":\"Log on different date\",\"dateSelecting\":\"Selecting date...\",\"successLike\":\"Kept.\",\"successCount\":\"Memory #{count} is now on your timeline.\",\"viewTimeline\":\"Open Timeline\",\"ratingBestModern\":\"Excellent\",\"ratingSosoModern\":\"Worth watching\",\"ratingBadModern\":\"Disappointing\",\"ratingBestBookModern\":\"Life-changing\",\"ratingSosoBookModern\":\"Not bad\",\"typeMovie\":\"Movie\",\"typeSeriesModern\":\"Series\",\"typeBook\":\"Book\",\"typeSeries\":\"Series\",\"statusPrompt\":\"Where should this title sit?\",\"savedLocally\":\"Kept quietly on this device first.\",\"statusDoneVideo\":\"Watched\",\"statusInProgressVideo\":\"Watching\",\"statusWishlistVideo\":\"Want to watch\",\"statusDoneBook\":\"Read\",\"statusInProgressBook\":\"Reading\",\"statusWishlistBook\":\"Want to read\",\"saveSuccessPrompt\":\"Kept. Anything else to remember?\",\"optionalDetailsTitle\":\"More to Keep\",\"detailGenre\":\"Genre\",\"detailDirector\":\"Director\",\"detailCast\":\"Cast\"},\"Common\":{\"placeLabels\":{\"HOME\":\"Home\",\"THEATER\":\"Theater\",\"TRANSIT\":\"Transit\",\"CAFE\":\"Cafe\",\"OFFICE\":\"Office\",\"LIBRARY\":\"Library\",\"BOOKSTORE\":\"Bookstore\",\"SCHOOL\":\"School\",\"PARK\":\"Park\",\"OUTDOOR\":\"Outdoor\",\"ETC\":\"Etc\"},\"occasionLabels\":{\"ALONE\":\"Alone\",\"DATE\":\"Date\",\"FAMILY\":\"Family\",\"FRIENDS\":\"Friends\",\"BREAK\":\"Break\",\"ETC\":\"Etc\"},\"errorUnknown\":\"An unknown error occurred.\",\"none\":\"None\",\"typeLabels\":{\"movie\":\"Movie\",\"series\":\"Series\",\"book\":\"Book\"},\"loading\":\"Loading…\",\"typeMovie\":\"Movie\",\"typeSeries\":\"Series\",\"typeSeriesModern\":\"Series\",\"typeBook\":\"Book\",\"addMoreDetails\":\"Add more details\"},\"Status\":{\"DONE\":\"Watched\",\"IN_PROGRESS\":\"Watching\",\"WISHLIST\":\"Want to watch\",\"BOOK_DONE\":\"Read\",\"BOOK_IN_PROGRESS\":\"Reading\",\"BOOK_WISHLIST\":\"Want to read\"},\"Timeline\":{\"titleModern\":\"My Timeline\",\"description\":\"See all the logs you have left so far at a glance.\",\"searchPlaceholder\":\"Search by title, note...\",\"exportCsv\":\"Download CSV\",\"emptyState\":\"No logs yet.\",\"emptySearch\":\"No search results.\",\"syncStatus\":\"Sync Complete\",\"unitBook\":\" book(s) \",\"unitVideo\":\" video(s) \",\"yearFormat\":\"In {year}, \",\"yearSuffix\":\"\",\"loading\":\"Loading…\",\"loadMore\":\"Show earlier logs\",\"loadingMore\":\"Loading earlier logs…\",\"loadMoreError\":\"Earlier logs couldn't be loaded.\",\"retryLoadMore\":\"Try again\",\"allLoaded\":\"You've reached the beginning of your timeline.\",\"subtitleModern\":\"Your records are gathered in chronological order\",\"emptyModern\":\"Leave your first log. Your timeline starts here.\",\"futureButton\":\"What's my future?\",\"futureButtonPersonalized\":\"{nickname}'s future?\",\"futureTitle\":\"Future Timeline\",\"titlePersonalized\":\"{nickname}'s Timeline\",\"subtitlePersonalized\":\"Logged with your {persona} point of view\",\"backButton\":\"← Back to present\",\"refreshButton\":\"Refresh\",\"reportShortcutTitle\":\"My Usage Report\",\"reportShortcutDesc\":\"Review weekly recaps, monthly genres, and gaps from your timeline flow.\",\"reportShortcutAction\":\"Report\",\"futureLoading\":\"AI is predicting your future...\",\"futureNeedMoreLogs\":\"Log at least 5 titles to see your future.\",\"futureError\":\"Your future timeline couldn't be drawn.\",\"futureEmpty\":\"No recommendations yet.\",\"typeMovie\":\"Movie\",\"typeSeries\":\"Series\",\"typeBook\":\"Book\",\"dismissButton\":\"Already watched\",\"refreshCooldown\":\"Already refreshed today\"},\"Bookshelf\":{\"viewShelf\":\"View bookshelf\",\"title\":\"My bookshelf\",\"personalizedTitle\":\"{nickname}'s bookshelf\",\"headline\":\"Every book you log finds a place by subject.\",\"subhead\":\"As the shelves grow, the subjects you return to begin to show.\",\"kdcBadge\":\"Sorted by KDC\",\"kdcExplainer\":\"Sorted into 10 broad subjects using the Korean Decimal Classification. Nothing extra to fill in.\",\"summary\":\"{count, plural, one {# book} other {# books}} across {categoryCount, plural, one {# subject} other {# subjects}}.\",\"bookCount\":\"{count, plural, one {# book} other {# books}}\",\"categoriesTitle\":\"Shelves by subject\",\"selectedTitle\":\"{category} shelf\",\"selectedCount\":\"{count, plural, one {# book lives} other {# books live}}
35 on this shelf.\",\"emptyCategory\":\"No books have found this shelf yet.\",\"waitingTitle\":\"Books finding their shelves\",\"waitingDesc\":\"They will settle into the right shelf when their catalog details are ready.\",\"retry\":\"Check again\",\"retrying\":\"Finding their places…\",\"emptyTitle\":\"There is room here for your first book.\",\"emptyDesc\":\"Log a book and we will place it on the shelf that fits.\",\"emptyAction\":\"Log my first book\",\"loading\":\"Opening your bookshelf…\",\"loadErrorTitle\":\"We could not open the whole shelf.\",\"loadErrorDesc\":\"Your records are safe. We can sort the rest when the connection is back.\",\"reopen\":\"Try again\",\"categoryOpenLabel\":\"Open {category} shelf, {count, plural, one {# book} other {# books}}\",\"emptyCategoryLabel\":\"{category} shelf, no books logged\",\"savedDate\":\"Logged {date}\",\"shelfBadge\":\"{code} · {category} shelf\",\"findingShelf\":\"It is finding the right shelf now.\",\"shelvedIn\":\"It also found a place in {category}.\",\"categories\":{\"0\":\"General works\",\"1\":\"Philosophy\",\"2\":\"Religion\",\"3\":\"Social sciences\",\"4\":\"Natural sciences\",\"5\":\"Technology\",\"6\":\"Arts\",\"7\":\"Language\",\"8\":\"Literature\",\"9\":\"History\"}},\"TitleSearchBox\":{\"defaultPlaceholder\":\"Search titles (e.g., Dune, The Bear)\",\"recentModern\":\"Titles shared together\",\"popularModern\":\"Popular now\",\"popularSource\":\"Popular title\",\"loading\":\"Loading...\",\"empty\":\"Nothing here yet\",\"searchLoading\":\"Searching...\",\"searchEmpty\":\"No results found\",\"commentCount\":\"Comments {count}\",\"typeMovie\":\"Movie\",\"typeSeries\":\"Series\",\"typeBook\":\"Book\",\"typeSeriesModern\":\"Series\"},\"Public\":{\"title\":\"Together Footprints\",\"description\":\"What are others watching and reading these days?\",\"loadError\":\"Failed to load the list.\",\"loadErrorStable\":\"Shared records are taking a little longer to load. Please try again soon.\",\"empty\":\"No stories shared yet.\",\"loading\":\"Loading…\",\"searchPlaceholder\":\"Search title\",\"sortLabel\":\"Sort\",\"sortLatest\":\"Latest\",\"sortComments\":\"Most Comments\",\"curatedTitle\":\"A question from the ottline curator\",\"curatedDescription\":\"A conversation starter, kept separate from people's records.\",\"curatedDisclosure\":\"AI-operated account\"},\"DiscussionList\":{\"defaultEmpty\":\"No shared records yet.\",\"typeMovie\":\"Movie\",\"typeSeriesModern\":\"Series\",\"typeBook\":\"Book\",\"commentCountModern\":\"{count} comments\",\"trendingBadge\":\"Popular pick\",\"trendingAction\":\"Log it\",\"typeSeries\":\"Series\"},\"DiscussionReactions\":{\"doneVideoLabel\":\"Watched it too\",\"doneBookLabel\":\"Read it too\",\"curiousLabel\":\"Curious\",\"saveLabel\":\"Save for later\",\"savedMessage\":\"Reaction added and saved to your timeline.\",\"alreadyLoggedMessage\":\"Reaction added. This is already in your timeline.\",\"removedMessage\":\"Reaction removed.\",\"errorMessage\":\"Could not add the reaction.\",\"editLink\":\"View my log\"},\"Account\":{\"titleModern\":\"Settings\",\"descriptionModern\":\"Manage your profile, device connection, inbox, and data in one place.\",\"groupPersonalTitle\":\"My Space\",\"groupPersonalDesc\":\"Manage the profile information shown around your timeline.\",\"groupConnectionTitle\":\"Device Connection\",\"groupConnectionDesc\":\"Use pairing codes to keep the same timeline across devices.\",\"groupSupportTitle\":\"Support\",\"groupSupportDesc\":\"Use your inbox to send questions and check replies.\",\"groupDataTitle\":\"Data Management\",\"groupDataDesc\":\"Export, local reset, and server data deletion live here.\",\"profileTitle\":\"My Profile\",\"profileDesc\":\"Add a nickname and avatar to the timeline that follows you without sign-up.\",\"profileUnavailable\":\"Create your first log to unlock your profile.\",\"pairingCodeLabel\":\"My Pairing Code\",\"pairingCodeLoading\":\"Generating...\",\"pairingCodeDescModern\":\"Enter this code on your other devices.\",\"pairingCodeDescEmpty\":\"Account and pairing code will be created after your first log.\",\"pairingCodeNotice\":\"Come back after logging to see your co
35de and account info.\",\"recoveryCardHelp\":\"Save a private recovery card for connecting new devices. Do not share it with anyone else.\",\"recoveryCardAction\":\"Save Recovery Card\",\"recoveryCardSaving\":\"Creating recovery card...\",\"recoveryCardEyebrow\":\"Private backup\",\"recoveryCardTitle\":\"ottline Recovery Card\",\"recoveryCardSubtitle\":\"This pairing code lets a new device continue the same timeline.\",\"recoveryCardCodeLabel\":\"Pairing code\",\"recoveryCardInstructionTitle\":\"How to use it on a new device\",\"recoveryCardInstructionBody\":\"Open ottline Settings and enter this code in Device Connection to continue your current timeline.\",\"recoveryCardWarningTitle\":\"Do not share this with anyone\",\"recoveryCardWarningBody\":\"Anyone with this code can connect to your timeline. Keep this image only in your private photos or backup storage.\",\"recoveryCardFooter\":\"This image is generated on this device and is not sent to the server.\",\"connectDevice\":\"Connect Another Device\",\"pairingCodePlaceholder\":\"Enter pairing code\",\"connectAction\":\"Connect\",\"connecting\":\"Connecting...\",\"accountInfoLabel\":\"My Account Info\",\"accountInfoNotice\":\"Account info may be empty before your first log.\",\"resetLocalTitle\":\"Reset Local Data\",\"resetLocalDesc\":\"Delete all logs and cache on this device. Server data remains safe.\",\"resetAction\":\"Reset Local\",\"resetConfirm\":\"All data stored in the browser will be deleted. Continue?\",\"deleteAccountTitle\":\"Delete All Server Data\",\"deleteAccountDesc\":\"Delete synced logs, comments, inbox messages, analytics data, and all linked devices for this account. Local data on this device will also be cleared.\",\"deleteAccountAction\":\"Delete All Server Data\",\"deleteAccountConfirm\":\"This will permanently delete synced logs, comments, inbox messages, analytics data, and all linked devices for this account. This cannot be undone. Continue?\",\"exportTitle\":\"Export My Logs\",\"exportDescModern\":\"Download your timeline as a CSV file.\",\"exportDescEmpty\":\"Export will be available after your first log.\",\"exportRange\":\"Export Range\",\"rangeAll\":\"All\",\"rangeVideo\":\"Video (Movie/Series)\",\"rangeBook\":\"Book\",\"exportAction\":\"Download CSV\",\"exporting\":\"Creating CSV...\",\"exportNotice\":\"Ensure sync is complete to include the latest logs in your export.\",\"connectedDevices\":\"Connected Devices\",\"connectedDevicesDesc\":\"Review and clean up devices connected to this account.\",\"connectedDevicesCount\":\"{count} linked\",\"noDevices\":\"No devices connected.\",\"currentDevice\":\"Current Device\",\"otherDevice\":\"Linked Device\",\"browser\":\"Browser\",\"os\":\"OS\",\"createdAt\":\"Created {date}\",\"lastActiveAt\":\"Last active {date}\",\"unlinkAction\":\"Unlink\",\"unlinkAllAction\":\"Unlink All Devices\",\"statusConnected\":\"Connected\",\"statusConnectFailed\":\"Connection failed\",\"statusUnlinked\":\"Device unlinked.\",\"statusUnlinkFailed\":\"Unlink failed\",\"statusResetAll\":\"All linked devices have been unlinked.\",\"statusResetFailed\":\"Reset failed\",\"statusLocalReset\":\"Local data reset. Reloading...\",\"statusAccountDeleted\":\"All server data deleted. Reloading...\",\"statusAccountDeleteFailed\":\"Failed to delete all server data.\",\"statusNoExportData\":\"Export will be available after your first log.\",\"statusNoMatchingLogs\":\"No logs found for these criteria.\",\"statusExportSuccess\":\"CSV file saved.\",\"statusExportFailed\":\"Export failed.\",\"statusRecoveryCardSaved\":\"Recovery card saved.\",\"statusRecoveryCardFailed\":\"Failed to save recovery card.\",\"resetLocalAction\":\"Reset Local\",\"exportRangeLabel\":\"Export Range\",\"noConnectedDevices\":\"No connected devices.\",\"currentLabel\":\"Current\",\"feedbackTitle\":\"Contact Inbox\",\"feedbackDesc\":\"Leave questions or issues in your personal inbox and check replies there.\",\"feedbackAction\":\"Open My Inbox\",\"androidAppTitle\":\"Android App Settings\",\"androidAppDesc\":\"Manage Android-only settings from the Google Play app.\",\"androidWatchReminderAction\":\"Watch reminder settings\",\"androidWatchReminderDesc\":\"Choose whether to receive a reminder after leaving an OTT app. Usage access must be enabled manually in Android settings.\"},\"Profile\":{\"promptTitle\":\"Create My Timeline Profile\",\"promptDesc\":\"Your first log is here. Add a nickname and persona avatar so your own screens feel more personal.\",\"nicknameLabel\":\"Nickname\",\"nicknamePlaceholder\":\"Example: Night Logger\",\"nicknameRequired\":\"Enter a nickname.\",\"nicknameTooLong\":\"Nicknames must be 32 characters or fewer.\",\"personaLabel\":\"Persona and avatar\",\"personaCurrent\":\"Selected persona\",\"avatarAlt\":\"Selected avatar\",\"createAction\":\"Create Profile\",\"saveAction\":\"Save Profile\",\"saving\":\"Saving...\",\"saved\":\"Profile saved.\",\"saveFailed\":\"Failed to save profile.\",\"laterAction\":\"Later\",\"personas\":{\"cinema_keeper\":\"Cinema Keeper\",\"book_drifter\":\"Book Drifter\",\"deep_watcher\":\"Deep Watcher\",\"midnight_logger\":\"Midnight Logger\",\"weekend_curator\":\"Weekend Curator\",\"archive_collector\":\"Archive Collector\"}},\"CommentsPanel\":{\"loadError\":\"Failed to load shared records. Please try again later.\",\"loginRequired\":\"You need to link your account to leave a comment.\",\"postError\":\"Failed to post comment. Please try again.\",\"loading\":\"Loading…\",\"sectionTitleModern\":\"Together Records\",\"descModern\":\"Notes will be saved as shared records.\",\"emptyModern\":\"No shared records yet. They appear when comments are left.\",\"commentsEmptyModern\":\"No comments yet.\",\"commentCountModern\":\"{count} stories\",\"sortLabel\":\"Sort\",\"sortOldest\":\"Oldest\",\"sortLatest\":\"Latest\",\"meLabel\":\"Me\",\"myCommentLabel\":\"My Comment\",\"viewMore\":\"View More\",\"inputTitleModern\":\"Leave Opinion\",\"placeholderModern\":\"Leave a line about this title.\",\"mentionTitleModern\":\"Mention Title\",\"mentionPlaceholderBook\":\"Search book with @\",\"mentionPlaceholderVideo\":\"Search title with @\",\"posting\":\"Posting...\",\"submitActionModern\":\"Post Comment\"},\"ShareBottomSheet\":{\"title\":\"Create Share Photo Card\",\"description\":\"Share your saved log as an image.\",\"previewAlt\":\"Share photo card preview\",\"previewGenerating\":\"Generating photo card\",\"previewGeneratingDescription\":\"Creating the image preview now.\",\"toggleRating\"
35:\"Include rating\",\"toggleNote\":\"Include note\",\"toggleProfileSignature\":\"Include avatar and nickname signature\",\"ratioLabel\":\"Image Ratio\",\"ratioStory\":\"Story 9:16\",\"ratioFeed\":\"Feed 4:5\",\"downloadAction\":\"Save Image\",\"shareAction\":\"Share\",\"preparing\":\"Preparing...\",\"sizeLabel\":\"Image size: {size}\",\"shareText\":\"My log share: {title}\"},\"Metadata\":{\"titleDefault\":\"ottline | Video and Book Logs in 10 Seconds\",\"titleTemplate\":\"%s | ottline\",\"description\":\"Log OTT watch history, movies, series, and books in 10 seconds without sign-up. Build your own personal timeline.\"},\"About\":{\"title\":\"Movie, Series, and Book Log App \u0026 How to Use\",\"subtitle\":\"Movie, series, and book timelines without sign-up\",\"description\":\"ottline helps you quickly log OTT watch history from services like Netflix, TVING, and Disney+, plus movies, series, and books, into your own timeline. Start on the web without tedious sign-up, then continue through the same flow on the installable PWA, Android app, iOS app, Windows app, browser extension, and Toss in-app mini app. The ChatGPT connection is still in preparation.\",\"pairingHighlightTitle\":\"Once you start logging, your timeline keeps going.\",\"pairingHighlightDesc\":\"Whether you open ottline on the web, in Toss, or as an installed app, your pairing code lets you continue the same timeline and keep logging and checking your history.\",\"platformsTitle\":\"Started on the web, opened in more places\",\"platformsDesc\":\"The web timeline remains the center of ottline. Around that core, the same logging flow is available through several entry points.\",\"platformWebTitle\":\"Web and Installable PWA\",\"platformWebDesc\":\"Use it directly in the browser, then install it on your home screen or desktop to reopen it like an app.\",\"platformWebLink\":\"Open the web app\",\"platformTossTitle\":\"Toss In-App\",\"platformTossDesc\":\"Open your OTT timeline directly inside Toss without installing another app.\",\"platformTossLink\":\"Open in Toss\",\"platformExtensionTitle\":\"Desktop Browser Extension\",\"platformExtensionDesc\":\"A helper that reads the title from supported OTT pages and sends you into ottline QuickLog on the web. It is available on the Chrome Web Store, Edge Add-ons, and Whale Store.\",\"platformExtensionChromeLink\":\"Chrome Web Store\",\"platformExtensionEdgeLink\":\"Edge Add-ons\",\"platformExtensionWhaleLink\":\"Whale Store\",\"platformWindowsTitle\":\"Windows App\",\"platformWindowsDesc\":\"The same web app is also available through Microsoft Store packaging, so the desktop flow stays familiar.\",\"platformWindowsLink\":\"Microsoft Store\",\"platformAndroidTitle\":\"Android App\",\"platformAndroidDesc\":\"Install it from Google Play to enter the logging flow faster from the home screen, widget, and watch reminder settings.\",\"platformAndroidLink\":\"Install ottline from Google Play\",\"platformIosTitle\":\"iOS App\",\"platformIosDesc\":\"Install it from the App Store and continue the same logging flow and timeline on iPhone.\",\"platformIosLink\":\"Download ottline on the App Store\",\"platformChatGptTitle\":\"ChatGPT Connection\",\"platformChatGptDesc\":\"A read-only ChatGPT connection is still in preparation for bringing recent logs into the conversation.\",\"platformPreparing\":\"Coming soon\",\"howToUseTitle\":\"How to use it?\",\"step1Title\":\"Search Title\",\"step1Desc\":\"Search for movies, series, or book titles at the top of the home screen.\",\"step2Title\":\"Select Status \u0026 Rating\",\"step2Desc\":\"Choose whether you are watching, reading, or finished, and leave a light rating.\",\"step3Title\":\"Save Record\",\"step3Desc\":\"Your own timeline is built immediately upon saving. All data is securely stored in your browser first.\",\"moreTipsTitle\":\"Tips for better usage\",\"tip1Title\":\"Install as an App\",\"tip1Desc\":\"ottline can be used like an installed app. Add it to your home screen to open quickly with an icon.\",\"tip2Title\":\"Export to CSV\",\"tip2Desc\":\"You can download your records as a CSV in Settings and organize them in Excel or Spreadsheet.\",\"tip3Title\":\"Share with Share Photo Cards\",\"t
35ip3Desc\":\"Select \\\"Create Share Photo Card\\\" after saving a record to automatically generate a beautiful card for social media.\",\"exampleVideo\":\"Video share photo card example\",\"exampleBook\":\"Book share photo card example\",\"guideTitle\":\"Find a logging rhythm that feels like yours\",\"guideDesc\":\"See the simple flow for OTT watch logs, movies and series, and books through real ottline screens.\",\"guideOttWatchAction\":\"Streaming watch log guide\",\"guideMovieSeriesAction\":\"Movie and series watch log guide\",\"guideBookAction\":\"Book log guide\",\"guideAction\":\"Browse all logging guides\",\"closing\":\"\\\"Memories fade, but records remain on the timeline.\\\"\"},\"TitleDetail\":{\"loading\":\"Loading…\",\"errorTitle\":\"Something went wrong\",\"notFound\":\"Title not found\",\"director\":\"Director\",\"cast\":\"Cast\",\"myRecordTitle\":\"My Record\",\"myRecordDesc\":\"History builds up as you add content.\",\"myRecordEmpty\":\"No records for this title yet. Save it from home first.\",\"historyTitle\":\"History\",\"historyDesc\":\"Snapshots are saved every time you update.\",\"historyEmpty\":\"No history yet.\",\"updateAction\":\"Update\",\"updating\":\"Updating…\",\"changeDate\":\"Change Date\"},\"FiltersBar\":{\"contentLabel\":\"Content\",\"all\":\"All\",\"video\":\"Video\",\"book\":\"Book\",\"filterLabel\":\"Filter\",\"categoryLabel\":\"Category\",\"myLog\":\"My Log\",\"comment\":\"Comment\",\"platformLabel\":\"Platform\",\"groupAll\":\"All {group}\",\"searchLabel\":\"Search\",\"searchPlaceholder\":\"Title, note, platform\"},\"HomePage\":{\"heroModernBook\":\"Stream. Read. Remember.\",\"heroModernVideo\":\"Stream. Read. Remember.\",\"heroModernDesc\":\"Your personal content timeline\",\"heroTimelineBook\":\"Keep today's book\",\"heroTimelineVideo\":\"Keep today's video\",\"heroTimelineBookPersonalized\":\"Keep a book on {nickname}'s shelf\",\"heroTimelineVideoPersonalized\":\"Keep a video on {nickname}'s timeline\",\"heroTimelineDesc\":\"A quiet place for what you watched and read\",\"heroTimelineProfileDesc\":\"Keep today's note through your {persona} lens\",\"viewAll\":\"View All\",\"myFootprints\":\"My Footprints\",\"myRecords\":\"My Records\",\"myRecordsPersonalized\":\"{nickname}'s Recent Records\",\"loading\":\"Loading...\",\"emptyFootprints\":\"No footprints yet. Leave a log above!\",\"emptyRecords\":\"Nothing here yet. Keep one title that stayed with you today.\",\"publicTitleModern\":\"Records others left behind\"},\"AndroidWatchReminderCard\":{\"eyebrow\":\"Android watch reminder\",\"title\":\"Want a nudge when it is time to log?\",\"description\":\"Get a reminder that opens the logging flow after you leave an OTT app.\",\"privacy\":\"ottline checks only the supported app's usage time and last-used time on your device. It does not read or send titles, playback status, or screen content.\",\"action\":\"Turn on watch reminders\",\"later\":\"Maybe later\",\"closeLabel\":\"Close watch reminder card\"},\"FirstLogActivation\":{\"eyebrow\":\"First record\",\"title\":\"Pick one to start\",\"description\":\"Start with whatever comes to mind before searching from scratch.\",\"closeLabel\":\"Close start panel\",\"tabVideo\":\"Video\",\"tabBook\":\"Book\",\"videoTitle\":\"Have you watched any of these lately?\",\"videoDescription\":\"Pick a poster and it opens the regular logging flow.\",\"recentSection\":\"Titles people are logging\",\"popularSection\":\"Popular now\",\"videoEmpty\":\"We could not load titles right now. You can still search directly.\",\"findOtherVideo\":\"Find another title\",\"bookTitle\":\"Are you reading something these days?\",\"bookDescription\":\"It does not need to be finished. Choose the state, then search by title or author.\",\"bookStatusInProgress\":\"Reading\",\"bookStatusDone\":\"Finished\",\"bookStatusWishlist\":\"Want to read\",\"bookSearchAction\":\"Search title or author\",\"typeMovie\":\"Movie\",\"typeSeries\":\"Series\",\"typeBook\":\"Book\"},\"DiscussionDetail\":{\"loadError\":\"Failed to load shared record. Please try again later.\",\"invalidPath\":\"Invalid path\",\"loading\":\"Loading…\",\"errorTitle\":\"Load failed.\",\"notFound\":\"Not found.\",\"viewTitleDetail\":\"View Title Detail →\"}
35,\"Offline\":{\"title\":\"You are offline\",\"description\":\"Will automatically reconnect when network is restored.\"},\"FAQ\":{\"title\":\"Frequently Asked Questions (FAQ)\",\"heading\":\"FAQ\",\"description\":\"Find answers about data storage and sign-up free usage of ottline.\",\"q1\":\"Q. How is data kept without sign-up?\",\"a1\":\"ottline uses \u003cstrong\u003eLocal-first\u003c/strong\u003e technology. All records are first stored in your browser's internal storage (IndexedDB). Your data remains safe as long as you use the same device, even without an account.\",\"q2\":\"Q. Can I see my records on a different device?\",\"a2\":\"Yes! By entering the \u003cstrong\u003ePairing Code\u003c/strong\u003e issued in the [Account] menu into a new device, you can continue to see your records. Data from multiple devices will be merged into one.\",\"q3\":\"Q. How is data merged after pairing?\",\"a3\":\"If there are records for the same title on both sides, the \u003cstrong\u003emost recently updated content\u003c/strong\u003e remains. This naturally keeps your timeline up to date without losing records.\",\"q4\":\"Q. How do I delete records?\",\"a4\":\"Individual record deletion is not supported, but you can remove synced account data at once in \u003cstrong\u003eSettings \u003e Delete All Server Data\u003c/strong\u003e. If you only want to clear the current device, use \u003cstrong\u003eSettings \u003e Reset Local\u003c/strong\u003e.\",\"q5\":\"Q. Can I download my records?\",\"a5\":\"Yes. You can download a CSV file in \u003cstrong\u003eSettings \u003e Export My Logs\u003c/strong\u003e and organize it in Excel or Spreadsheets.\",\"q6\":\"Q. Is there a usage fee?\",\"a6\":\"ottline provides all features for free. Just focus on the joy of logging!\",\"guideTitle\":\"Looking for a little more detail?\",\"guideDesc\":\"Explore calm, step-by-step guides for OTT watch logs, movies and series, and books.\",\"guideAction\":\"Browse the logging guides\"},\"Report\":{\"title\":\"My Usage Report\",\"personalizedTitle\":\"{nickname}'s Usage Report\",\"profileNotice\":\"A personal report through your {persona} lens.\",\"loadError\":\"Failed to load report.\",\"calculating\":\"Calculating report...\",\"noData\":\"No report data available.\",\"syncNotice\":\"This report is based on records synced to the server.\",\"localNotice\":\"This report is temporarily based on local records.\",\"totalRecords\":\"Total Records\",\"monthlyRecords\":\"Records this month\",\"completionRate\":\"Completion Rate\",\"ratingRate\":\"Rating Entry Rate\",\"memoRate\":\"Memo Entry Rate\",\"recentDate\":\"Latest Record\",\"mostLoggedType\":\"Most Logged Type\",\"frequentPlace\":\"Top Place\",\"frequentOccasion\":\"Top Occasion\",\"streak\":\"Logging Streak\",\"streakDesc\":\"Current {current} days · Best {longest} days\",\"revisitTitle\":\"Reasons to Reopen\",\"revisitDesc\":\"Weekly recaps, monthly genres, record gaps, and series reminders live here.\",\"weeklyRecords\":\"Last week's records\",\"monthlyTopGenre\":\"Top genre this month\",\"monthlyTopGenreDesc\":\"{count} records\",\"monthlyTopGenreEmpty\":\"Genre stats will appear after more genre-tagged records.\",\"daysSinceLastLog\":\"Record gap\",\"daysSinceLastLogValue\":\"{count} days\",\"continueSeries\":\"Continue series\",\"continueSeriesEmpty\":\"No series candidate yet.\",\"weeklyShareAction\":\"Share Weekly Card\",\"monthlyShareAction\":\"Save Monthly Card\",\"sharing\":\"Creating card...\",\"weeklyRecapCardTitle\":\"Weekly Record Recap\",\"weeklyRecapCardSubtitle\":\"{count} records from last week, gathered into one card.\",\"monthlyRecapCardTitle\":\"Monthly Genre Recap\",\"monthlyRecapCardSubtitle\":\"Your most logged genre this month is {genre}, with {count} records.\",\"monthlyRecapCardSubtitleEmpty\":\"Log more this month to make your genre card richer.\",\"h1RecapPeriod\":\"Jan 1 - Jun 30, 2026\",\"h1RecapTitle\":\"Your 2026 First-Half Recap\",\"h1RecapDesc\":\"{count} records from the first half of 2026, gathered with your posters.\",\"h1TotalRecords\":\"First-half records\",\"h1TopType\":\"Most logged type\",\"h1NoteRate\":\"Memo Entry Rate\",\"h1ShareAction\":\"Share First-Half Card\",\"h1RecapCardTitle\":\"2026 First-Half Recap\",\"h1RecapCardSubtitle\":\"A poster recap of your {count} records from the first half of 2026.\",\"h1RecapFooter\":\"A first half of watching, reading, and remembering\",\"recapShareText\":\"ottline recap card: {title}\"},\"PwaInstall\":{\"title\":\"Add to Home Screen\",\"iosDesc\":\"Tap the Safari share button and select \\\"Add to Home Screen\\\" to use it like an app.\",\"androidDesc\":\"Install to open quickly from your home screen.\",\"playT
35itle\":\"Get a reminder when it is time to log\",\"playDesc\":\"The Google Play app adds reminders after you leave an OTT app, plus a home-screen widget.\",\"playAction\":\"Get it on Google Play\",\"installAction\":\"Install\",\"closeAction\":\"Close\"},\"Privacy\":{\"title\":\"Privacy Policy\",\"lastUpdated\":\"Last Updated: July 19, 2026\",\"intro\":\"ottline (\\\"the Service\\\") values your privacy and complies with relevant laws. This policy guides you through the items of information processed, purposes, storage methods, and user rights.\",\"section1Title\":\"1. Information Collected\",\"section1List\":\"\u003cli\u003eLog data: Title, watching or reading status, rating, note, and timestamp\u003c/li\u003e\u003cli\u003eSync data: Internal account and client identifiers used for pairing and synchronization\u003c/li\u003e\u003cli\u003eService usage data: Session identifier, feature events, initial landing path, referring origin, and UTM source, medium, campaign, term, and content\u003c/li\u003e\u003cli\u003eEnvironment data: Device, browser, OS, and PWA or TWA installation status\u003c/li\u003e\",\"section2Title\":\"2. Purpose of Usage\",\"section2List\":\"\u003cli\u003eStoring and viewing records, building timelines, and providing sync\u003c/li\u003e\u003cli\u003eAnalyzing errors and improving service stability\u003c/li\u003e\u003cli\u003eAggregating acquisition paths and feature usage to improve the experience\u003c/li\u003e\",\"section3Title\":\"3. Retention and Destruction\",\"section3List\":\"\u003cli\u003eSynced records and account data are kept until you request Delete All Server Data.\u003c/li\u003e\u003cli\u003eFirst-party analytics events are automatically deleted 180 days after collection.\u003c/li\u003e\u003cli\u003eDeleting an account also deletes analytics events that store its account identifier. Anonymous events without an account identifier cannot be matched to a specific person for selective deletion and are automatically deleted after 180 days.\u003c/li\u003e\u003cli\u003eData sent to Google Analytics 4 and Microsoft Clarity is retained and deleted under each provider's configured settings and policies.\u003c/li\u003e\u003cli\u003eWhen the law requires retention, information is kept only for the required period.\u003c/li\u003e\",\"section4Title\":\"4. Third-party Disclosure\",\"section4Desc\":\"The Service uses Google Analytics 4 from Google and Clarity from Microsoft to aggregate visits and usage flows. Online identifiers such as cookies and environment information may be processed under each provider's policy. The Service does not sell user information or disclose it to other third parties except when required by law.\",\"section5Title\":\"5. User Rights\",\"section5Desc\":\"Users may request access, correction, or deletion of their data. This can be done through \u003cstrong\u003eSettings \u003e Delete All Server Data\u003c/strong\u003e or by contacting the operator.\",\"section6Title\":\"6. Inquiry\",\"section6Desc\":\"Please submit privacy-related inquiries through our service channels. We will process them without delay after verification.\"},\"CSV\":{\"date\":\"Date\",\"category\":\"Category\",\"title\":\"Title\",\"status\":\"Status\",\"rating\":\"Rating\",\"place\":\"Place\",\"occasion\":\"Occasion\",\"platform\":\"Platform\",\"note\":\"Note\"},\"Feedback\":{\"title\":\"My Inbox\",\"description\":\"Leave questions, bug reports, or ideas and check admin replies here.\",\"newThreadTitle\":\"New Inquiry\",\"categoryLabel\":\"Category\",\"subjectLabel\":\"Subject\",\"subjectPlaceholder\":\"Example: My pairing code does not appear\",\"bodyLabel\":\"Message\",\"bodyPlaceholder\":\"Tell us what you are trying to do and what went wrong.\",\"createNotice\":\"Replies will appear in this inbox.\",\"androidPresetNotice\":\"Android closed-test feedback template is ready.\",\"androidPresetSubject\":\"Android closed-test feedback\",\"androidPresetBody\":\"Tested items:\\n- Home widget:\\n- Launcher shortcuts:\\n- Share from OTT app:\\n- In-app feedback:\\n\\nThoughts or issues:\\n\",\"androidSharePresetNotice\":\"Android shared logging feedback template is ready.\",\"androidSharePresetSubject\":\"Android shared logging feedback\",\"androidSharePresetBody\":\"Source app:\\nShared title/link:\\nExpected behavior:\\nActual behavior:\\n\\nAdditional notes:\\n\",\"androidDiagnosticTitle\":\"Diagnostic context (auto-filled)\",\"androidDiagnosticSource\":\"Feedback source\",\"androidDiagnosticAppVersion\":\"Android app version\",\"androidDiagnosticEntryPath\":\"App entry path\",\"androidDiagnosticCurrentPath\":\"Current path\",\"androidDiagnosticSharedEntry\":\"Shared-entry feedback\",\"androidDiagnosticDisplayMode\":\"Display mode\",\"androidDiagnosticLocale\":\"Locale\",\"androidDiagnosticUserAgent\":\"User-Agent\",\"androidDiagnosticRecordedAt\":\"Created at\",\"androidDiagnosticUnknown\":\"Needs confirmation\",\"androidDiagnosticYes\":\"Yes\",\"androidDiagnosticNo\":\"No\",\"submitAction\":\"Send Inquiry\",\"submitting\":\"Sending…\",\"createSuccess\":\"Inquiry sent.\",\"createError\":\"Failed to send inquiry.\",\"myThreadsTitle\":\"My Threads\",\"loading\":\"Loading…\",\"empty\":\"No inquiries yet.\",\"emptyDetail\":\"Select a thread from the left to view the conversation.\",\"loadError\":\"Failed to load your inquiries.\",\"loadDetailError\":\"Failed to load inquiry detail.\",\"messageRoleUser\":\"My Message\",\"messageRoleAdmin\":\"Admin Reply\",\"untitled\":\"Untitled\",\"noMessages\":\"No messages yet.\",\"updatedAt\":\"Updated {date}\",\"category\":{\"QUESTION\":\"Question\",\"BUG\":\"Bug\",\"IDEA\":\"Idea\",\"OTHER\":\"Other\"},\"status\":{\"OPEN\":\"Open\",\"ANSWERED\":\"Answered\",\"CLOSED\":\"Closed\"}},\"AdminFeedback\":{\"title\":\"Admin Feedback Inbox\",\"description\":\"Review all user inquiries and reply from one place.\",\"allThreads\":\"All Threads\",\"filterAll\":\"All\",\"filterOpen\":\"Open\",\"filterAnswered\":\"Answered\",\"filterClosed\":\"Closed\",\"slaHours\":\"{count}h open\",\"slaDays\":\"{count}d open\",\"detailOpenAge\":\"Open for {age}\",\"loading\":\"Loading…\",\"empty\":\"No inquiries yet.\",\"emptyDetail\":\"Select a thread from the left.\",\"loadError\":\"Failed to load feedback threads.\",\"loadDetailError\":\"Failed to load thread details.\",\"replyTitle\":\"Write Reply\",\"replyPlaceholder\":\"Write a reply for the user.\",\"replyAction\":\"Send Reply\",\"replying\":\"Sending reply…\",\"replySuccess\":\"Reply saved.\",\"replyError\":\"Failed to save reply.\",\"messageRoleUser\":\"User\",\"messageRoleAdmin\":\"Admin\",\"untitled\":\"Untitled\",\"noMessages\":\"No messages yet.\",\"category\":{\"QUESTION\":\"Question\",\"BUG\":\"Bug\",\"IDEA\":\"Idea\",\"OTHER\":\"Other\"},\"status\":{\"OPEN\":\"Open\",\"ANSWERED\":\"Answered\",\"CLOSED\":\"Closed\"},\"sla\":{\"ok\":\"{age}\",\"soon\":\"{age} · needs attention\",\"overdue\":\"{age} · SLA overdue\"}},\"AdminCuratedContent\":{\"title\":\"AI curator operations\",\"description\":\"Create and review questions for the AI-operated account. These 
35contents never count as people's records, comments, or active users.\",\"newDraft\":\"New question draft\",\"newDraftDescription\":\"Choose a title to create a template question. Leave the body empty to use the default.\",\"titleSearch\":\"Find a title\",\"titleSearchPlaceholder\":\"Enter at least two characters\",\"locale\":\"Language\",\"bodyOverride\":\"Edit question (optional)\",\"bodyOverridePlaceholder\":\"Leave empty to use the template question.\",\"selectedTitle\":\"Selected title: {title}\",\"selectTitle\":\"Select a title.\",\"createDraft\":\"Create draft\",\"saving\":\"Saving…\",\"contentList\":\"Content list\",\"loading\":\"Loading…\",\"empty\":\"No curator content yet.\",\"loadError\":\"Could not load curator content.\",\"searchError\":\"Could not search titles.\",\"createSuccess\":\"Draft created.\",\"createError\":\"Could not create the draft.\",\"publishSuccess\":\"Content published.\",\"disableSuccess\":\"Content disabled.\",\"actionError\":\"Could not change the content status.\",\"publish\":\"Publish\",\"disable\":\"Disable\",\"status\":{\"DRAFT\":\"Draft\",\"PUBLISHED\":\"Published\",\"DISABLED\":\"Disabled\"}},\"Admin\":{\"title\":\"Admin Analytics\",\"envError\":\"BACKEND_URL environment variable is not set, cannot load statistics.\",\"apiError\":\"Statistics API error: {status}\",\"callError\":\"Failed to call statistics API.\",\"queryPeriod\":\"Query period: Last {days} days\",\"acquisitionTitle\":\"From acquisition to logging\",\"acquisitionDesc\":\"See how web, PWA, and Android acquisition sessions lead to meaningful exploration and a first log. Search impressions and clicks remain in Search Console.\",\"acquisitionSessions\":\"Acquisition sessions\",\"acquisitionEngagedSessions\":\"Engaged sessions\",\"acquisitionFirstLogSessions\":\"First-log sessions\",\"acquisitionLogCreateSessions\":\"Log-create sessions\",\"acquisitionOrphanSessions\":\"Conversions without a matching acquisition start: {count}\",\"acquisitionByChannel\":\"Acquisition by channel\",\"acquisitionBySource\":\"Acquisition by source\",\"acquisitionByLandingPath\":\"Acquisition by landing path\",\"acquisitionByCampaign\":\"Acquisition by campaign\",\"acquisitionDimension\":\"Dimension\",\"acquisitionEmpty\":\"No acquisition sessions were counted in this period.\",\"acquisitionLoadError\":\"Acquisition analytics could not be loaded. {error}\",\"countingRulesTitle\":\"Counting rules\",\"countingRulesDesc\":\"App-open sessions count duplicate opens with the same session ID once. Engaged users are safely linked to an account first, then grouped by client or session when no account link exists, and performed a meaningful action such as search, title selection, or logging.\",\"curatedAnalyticsTitle\":\"AI curator response (separate)\",\"curatedAnalyticsDesc\":\"Measure curator question impressions, opens, and the real human actions that follow. These numbers stay separate from human-user metrics.\",\"curatedImpressions\":\"Question impressions\",\"curatedOpens\":\"Question opens\",\"curatedHumanActions\":\"Human follow-up actions\",\"curatedHumanActionActors\":\"Users with follow-up actions\",\"curatedAnalyticsUnavailable\":\"Curator response analytics is not available yet.\",\"trustedActivityTitle\":\"Trustworthy activity\",\"trustedActivityDesc\":\"Review meaningful activity and app-open duplication together for the selected period.\",\"qualifiedActors\":\"Engaged users\",\"activeClients\":\"Active clients\",\"appOpenSessions\":\"App-open sessions\",\"rawAppOpenEvents\":\"Raw app-open events\",\"period\":\"Period\",\"windowToday\":\"Today\",\"windowLast7Days\":\"Last 7 days\",\"windowLast30Days\":\"Last 30 days\",\"periodActivityTitle\":\"Activity by period\",\"periodReachTitle\":\"Behavior reach in this period\",\"periodReachDesc\":\"Each number is independent unique reach in the selected period. A title can be selected without search, so these are not sequential conversion rates.\",\"reachTitleSearch\":\"Title search\",\"reachTitleSelect\":\"Title selection\",\"reachConnected\":\"Device connection\",\"reachFirstLog\":\"First-log users\",\"reachLogCreators\":\"Log creators\",\"metricsSchemaUnavailable\":\"The new counting schema is not available from the API yet. Legacy figures are not shown as a substitute.\",\"platformMetricSummary\":\"raw opens {raw} · sessions {sessions} · clients {clients} · engaged {qualified}\",\"dimensionMetricSummary\":\"sessions {sessions} · clients {clients}\",\"iosCombinedChannel\":\"iOS app (install source unknown)\",\"iosChannelNotice\":\"The iOS app_store_testflight value is retained for c
35ompatibility and does not identify the actual install source. Do not split it into App Store and TestFlight; use app version and build number only.\",\"day\":\"Day\",\"dailyReportTitle\":\"Daily operations report\",\"dailyReportDate\":\"For {date} (yesterday)\",\"cloudflareTraffic\":\"Traffic (Cloudflare)\",\"cloudflareTrafficDesc\":\"Visits is Cloudflare Web Analytics' visits metric, not a unique visitor count.\",\"requests\":\"Requests\",\"cloudflareVisits\":\"Visits\",\"pageViews\":\"Page views\",\"ga4Users\":\"Users (Google Analytics 4 · provisional)\",\"ga4Provisional\":\"Yesterday's data is provisional as of the query time and may be adjusted later.\",\"sessions\":\"Sessions\",\"ga4ActiveUsers\":\"Active users\",\"newUsers\":\"New users\",\"internalActivity\":\"App activity (internal)\",\"dailyInternalDesc\":\"Review raw app-open volume separately from deduplicated sessions, clients, and engaged users.\",\"dailyReachDesc\":\"Each number is the unique reach for that behavior yesterday. No ordering or conversion between behaviors is assumed.\",\"dbLogCreateCount\":\"New logs (DB)\",\"kubernetesInfrastructure\":\"Infrastructure (Kubernetes / ott)\",\"snapshot\":\"At query time\",\"snapshotAt\":\"As of {time}\",\"clarityLink\":\"Microsoft Clarity →\",\"noPods\":\"No running pods.\",\"podResources\":\"CPU {cpu} · memory {memory}\",\"totalEvents\":\"Total Events\",\"dau\":\"DAU\",\"wau\":\"WAU\",\"mau\":\"MAU\",\"productFunnelTitle\":\"Product Funnel\",\"productFunnelDesc\":\"How visitors move from finding a title to creating their first log.\",\"funnelVisitors\":\"Visitors\",\"funnelTitleSearch\":\"Title Search\",\"funnelTitleSelect\":\"Title Select\",\"funnelConnected\":\"Device Connect\",\"funnelFirstLog\":\"First Log\",\"funnelLogCreators\":\"Log Creators\",\"visitToLogRate\":\"Visit-to-log Conversion\",\"conversionFromPrevious\":\"From previous step\",\"conversionFromVisit\":\"From visit\",\"activeUsersLabel\":\"Active users\",\"byPlatform\":\"By Platform\",\"deviceSegments\":\"App-open device segments\",\"iosNativeSegments\":\"iOS native app-open segments\",\"androidAppSegments\":\"Android app-open segments\",\"eventDetails\":\"Details by Event Type\",\"dailyDetails\":\"Daily Details\",\"weekStartNotice\":\"Based on Monday start, last {days} days\",\"recentEvents\":\"Raw Recent Events (collapsed, max 300)\",\"event\":\"Event\",\"count\":\"Count\",\"actors\":\"Actors\"}}
35,\"now\":\"$undefined\",\"timeZone\":\"UTC\",\"children\":\"$L19\"}]\n"])</script>
35<script>self.__next_f.push([1,"1a:I[28671,[\"/_next/static/chunks/163is8fnw~88-.js\",\"/_next/static/chunks/0yju5kiy8-av..js\",\"/_next/static/chunks/0z.xuidktnzpd.js\",\"/_next/static/chunks/1608cak20tcw1.js\",\"/_next/static/chunks/0cib-26h5cfes.js\"],\"ThemeProvider\"]\n1b:I[69965,[\"/_next/static/chunks/163is8fnw~88-.js\",\"/_next/static/chunks/0yju5kiy8-av..js\",\"/_next/static/chunks/0z.xuidktnzpd.js\",\"/_next/static/chunks/1608cak20tcw1.js\",\"/_next/static/chunks/0cib-26h5cfes.js\"],\"default\"]\n1c:I[63731,[\"/_next/static/chunks/163is8fnw~88-.js\",\"/_next/static/chunks/0yju5kiy8-av..js\",\"/_next/static/chunks/0z.xuidktnzpd.js\",\"/_next/static/chunks/1608cak20tcw1.js\",\"/_next/static/chunks/0cib-26h5cfes.js\"],\"default\"]\n1d:I[35235,[\"/_next/static/chunks/163is8fnw~88-.js\",\"/_next/static/chunks/0yju5kiy8-av..js\",\"/_next/static/chunks/0z.xuidktnzpd.js\",\"/_next/static/chunks/1608cak20tcw1.js\",\"/_next/static/chunks/0cib-26h5cfes.js\"],\"default\"]\n1e:I[34058,[\"/_next/static/chunks/163is8fnw~88-.js\",\"/_next/static/chunks/0yju5kiy8-av..js\",\"/_next/static/chunks/0z.xuidktnzpd.js\",\"/_next/static/chunks/1608cak20tcw1.js\",\"/_next/static/chunks/0cib-26h5cfes.js\"],\"default\"]\n1f:I[27443,[\"/_next/static/chunks/163is8fnw~88-.js\",\"/_next/static/chunks/0yju5kiy8-av..js\",\"/_next/static/chunks/0z.xuidktnzpd.js\",\"/_next/static/chunks/1608cak20tcw1.js\",\"/_next/static/chunks/0cib-26h5cfes.js\"],\"default\"]\n20:I[35206,[\"/_next/static/chunks/163is8fnw~88-.js\",\"/_next/static/chunks/0yju5kiy8-av..js\",\"/_next/static/chunks/0z.xuidktnzpd.js\",\"/_next/static/chunks/1608cak20tcw1.js\",\"/_next/static/chunks/0cib-26h5cfes.js\"],\"default\"]\n22:I[99788,[\"/_next/static/chunks/163is8fnw~88-.js\",\"/_next/static/chunks/0yju5kiy8-av..js\",\"/_next/static/chunks/0z.xuidktnzpd.js\",\"/_next/static/chunks/1608cak20tcw1.js\",\"/_next/static/chunks/0cib-26h5cfes.js\"],\"default\"]\n19:[\"$\",\"$L1a\",null,{\"children\":[false,[\"$\",\"$L1b\",null,{}],[\"$\",\"$L1c\",null,{}],[\"$\",\"$L1d\",null,{}],[\"$\",\"$L1e\",null,{}],[\"$\",\"$L1f\",null,{}],[\"$\",\"$L20\",null,{}],[\"$\",\"main\",null,{\"className\":\"mx-auto max-w-5xl px-4 py-8 pb-[var(--mobile-bottom-content-padding)] sm:py-10 sm:pb-10\",\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}],\"$L21\",[\"$\",\"$L22\",null,{}]]}]\n"])</script>
35<script>self.__next_f.push([1,"21:[\"$\",\"footer\",null,{\"className\":\"mt-20 border-t py-12 pb-[var(--mobile-bottom-content-padding)] sm:pb-12 border-border bg-ott-paper-strong/70 dark:bg-card/80\",\"children\":[\"$\",\"div\",null,{\"className\":\"mx-auto max-w-5xl px-4\",\"children\":[\"$\",\"div\",null,{\"className\":\"grid grid-cols-1 gap-10 md:grid-cols-3\",\"children\":[[\"$\",\"div\",null,{\"className\":\"space-y-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"text-sm font-bold tracking-tighter text-foreground\",\"children\":\"ottline\"}],[\"$\",\"p\",null,{\"className\":\"text-xs leading-relaxed text-muted-foreground\",\"children\":\"Fast and simple OTT watch logs, movie logs, and book logs. Build your own timeline.\"}]]}],[\"$\",\"div\",null,{\"className\":\"space-y-4\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"text-xs font-bold uppercase tracking-widest text-foreground\",\"children\":\"Guide\"}],[\"$\",\"ul\",null,{\"className\":\"space-y-2 text-xs text-muted-foreground\",\"children\":[[\"$\",\"li\",null,{\"children\":\"$L23\"}],[\"$\",\"li\",null,{\"children\":\"$L24\"}],[\"$\",\"li\",null,{\"children\":\"$L25\"}],[\"$\",\"li\",null,{\"children\":\"$L26\"}],[\"$\",\"li\",null,{\"children\":\"$L27\"}]]}]]}],[\"$\",\"div\",null,{\"className\":\"space-y-4 text-xs text-muted-foreground\",\"children\":[[\"$\",\"p\",null,{\"children\":[\"© \",2026,\" \",\"ottline\",\". \",\"All rights reserved.\"]}],[\"$\",\"a\",null,{\"href\":\"mailto:[email protected]\",\"className\":\"block hover:underline\",\"children\":\"[email protected]\"}]]}]]}]}]}]\n"])</script>
35<script>self.__next_f.push([1,"28:I[77105,[\"/_next/static/chunks/163is8fnw~88-.js\",\"/_next/static/chunks/0yju5kiy8-av..js\",\"/_next/static/chunks/0z.xuidktnzpd.js\",\"/_next/static/chunks/1608cak20tcw1.js\",\"/_next/static/chunks/0cib-26h5cfes.js\"],\"default\"]\n23:[\"$\",\"$L28\",null,{\"ref\":\"$undefined\",\"href\":\"/en/guide\",\"locale\":\"$undefined\",\"localeCookie\":{\"name\":\"NEXT_LOCALE\",\"sameSite\":\"lax\"},\"className\":\"font-semibold text-brand-navy hover:underline dark:text-foreground\",\"children\":\"Logging Guides\"}]\n24:[\"$\",\"$L28\",null,{\"ref\":\"$undefined\",\"href\":\"/en/about\",\"locale\":\"$undefined\",\"localeCookie\":\"$23:props:localeCookie\",\"className\":\"hover:underline\",\"children\":\"About Service\"}]\n25:[\"$\",\"$L28\",null,{\"ref\":\"$undefined\",\"href\":\"/en/faq\",\"locale\":\"$undefined\",\"localeCookie\":\"$23:props:localeCookie\",\"className\":\"hover:underline\",\"children\":\"FAQ\"}]\n26:[\"$\",\"$L28\",null,{\"ref\":\"$undefined\",\"href\":\"/en/privacy\",\"locale\":\"$undefined\",\"localeCookie\":\"$23:props:localeCookie\",\"className\":\"hover:underline\",\"children\":\"Privacy Policy\"}]\n27:[\"$\",\"$L28\",null,{\"ref\":\"$undefined\",\"href\":\"/en/feedback\",\"locale\":\"$undefined\",\"localeCookie\":\"$23:props:localeCookie\",\"className\":\"hover:underline\",\"children\":\"Contact\"}]\n"])</script>
35<script>self.__next_f.push([1,"29:I[27201,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"IconMark\"]\nc:null\n"])</script>
35<script>self.__next_f.push([1,"11:[[\"$\",\"title\",\"0\",{\"children\":\"ottline | Video and Book Logs in 10 Seconds\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Log OTT watch history, movies, series, and books in 10 seconds without sign-up. Build your own personal timeline.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"meta\",\"3\",{\"name\":\"robots\",\"content\":\"noindex, nofollow\"}],[\"$\",\"meta\",\"4\",{\"name\":\"googlebot\",\"content\":\"noindex, nofollow\"}],[\"$\",\"meta\",\"5\",{\"name\":\"mobile-web-app-capable\",\"content\":\"yes\"}],[\"$\",\"meta\",\"6\",{\"name\":\"apple-mobile-web-app-title\",\"content\":\"ottline\"}],[\"$\",\"meta\",\"7\",{\"name\":\"apple-mobile-web-app-status-bar-style\",\"content\":\"black-translucent\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:title\",\"content\":\"ottline\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:description\",\"content\":\"Log OTT watch history, movies, series, and books in 10 seconds without sign-up. Build your own personal timeline.\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:url\",\"content\":\"https://ottline.app/en\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:site_name\",\"content\":\"ottline\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:locale\",\"content\":\"en_US\"}],[\"$\",\"meta\",\"13\",{\"property\":\"og:image\",\"content\":\"https://ottline.app/og-image-20260418.png\"}],[\"$\",\"meta\",\"14\",{\"property\":\"og:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"15\",{\"property\":\"og:image:height\",\"content\":\"630\"}],[\"$\",\"meta\",\"16\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"17\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"18\",{\"name\":\"twitter:title\",\"content\":\"ottline\"}],[\"$\",\"meta\",\"19\",{\"name\":\"twitter:description\",\"content\":\"Log OTT watch history, movies, series, and books in 10 seconds without sign-up. Build your own personal timeline.\"}],[\"$\",\"meta\",\"20\",{\"name\":\"twitter:image\",\"content\":\"https://ottline.app/og-image-20260418.png\"}],[\"$\",\"link\",\"21\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0csd.uszlt5v4.ico\",\"sizes\":\"16x16\",\"type\":\"image/x-icon\"}],[\"$\",\"link\",\"22\",{\"rel\":\"icon\",\"href\":\"/icon.png\"}],[\"$\",\"link\",\"23\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-touch-icon.png\"}],[\"$\",\"$L29\",\"24\",{}]]\n"])</script>
35<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":"a5a26d27fd0b45b983719f60e4237f44","r":1,"spa":2}' crossorigin="anonymous"></script>
35
36</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.