<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Abu Jakaria</title>
    <description>The latest articles on Forem by Abu Jakaria (@abujakariacse).</description>
    <link>https://forem.com/abujakariacse</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2220592%2Fa6a8b427-6a0a-4bef-8c22-6475ccec058b.jpg</url>
      <title>Forem: Abu Jakaria</title>
      <link>https://forem.com/abujakariacse</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/abujakariacse"/>
    <language>en</language>
    <item>
      <title>AI এখন শুধু একটা টুল না থেকে ধীরে ধীরে intelligence এর দিকে যাচ্ছে</title>
      <dc:creator>Abu Jakaria</dc:creator>
      <pubDate>Wed, 22 Apr 2026 21:04:36 +0000</pubDate>
      <link>https://forem.com/abujakariacse/ai-ekhn-shudhu-ekttaa-ttul-naa-theke-dhiire-dhiire-intelligence-er-dike-yaacche-5cbk</link>
      <guid>https://forem.com/abujakariacse/ai-ekhn-shudhu-ekttaa-ttul-naa-theke-dhiire-dhiire-intelligence-er-dike-yaacche-5cbk</guid>
      <description>&lt;p&gt;কিছুদিন আগেও আমরা ভাবতাম AI মানে হলো একটা স্মার্ট চ্যাটবট - প্রশ্ন করলাম, আন্সার দিল, ছবি তৈরি করলো, কিছু কোড লিখে দিল এর বেশি কিছু না। কিন্তু এখন সিলিকন ভ্যালির ভিতরে যেই নামটা চুপচাপ ফিসফিস করে ঘুরছে, সেটা হলো &lt;strong&gt;Mythos&lt;/strong&gt;।&lt;/p&gt;

&lt;p&gt;হ্যা ঠিকি শুনেছেন &lt;strong&gt;এনথ্রপিকের ক্লাউডি মাইথস&lt;/strong&gt;। নামের মধ্যেই যেন একটা রহস্য আছে। আর যারা ইনসাইডার লেভেলে AI নিয়ে কাজ করছে, তারা বলছে মাইথস শুধু আরেকটা AI মডেল না, এটা হয়তো সেই পয়েন্ট যেখানে AI tool থেকে intelligence এ ঢুকতে শুরু করেছে। এনথ্রপিকের এর রিসার্চ ল্যাব থেকে আসা এই মডেল নিয়ে পাব্লিকলি খুব বেশি কিছু বলা হয়নি। বরং যেটা সবচেয়ে বেশি কিউরিওসিটি তৈরি করেছে, সেটা হলো কোম্পানি নিজেরাই এটাকে পুরোপুরি পাব্লিকলি রিলিজ করেনি।&lt;/p&gt;

&lt;p&gt;কারণ অনেকের দাবি, মাইথস এমন কিছু ক্যাপাবিলিটি দেখিয়েছে যেটা সাধারণ ল্যাঙ্গুয়েজ মডেল এর বাইরে। সাধারণ AI মডেল যেখানে প্রম্পট নেয় আর রেসপন্স দেয়, সেখানে মাইথস নিয়ে শোনা যাচ্ছে এটা শুধু আন্সার জেনারেট করে না বরং এটা কমপ্লেক্স সিস্টেম ডিপলি অ্যানালাইজ করতে পারে। বড় সফটওয়্যার স্ট্রাকচার বুঝতে পারে, হিডেন ভালনারেবিলিটি ডিটেক্ট করতে পারে, লজিক চেইন ফলো করতে পারে, মাল্টি স্টেপ রিজনিং ধরে রাখতে পারে।&lt;/p&gt;

&lt;p&gt;যেখানে অনেক মডেল কয়েক ধাপ পরে কন্টেক্সট হারিয়ে ফেলে, সেখানে মাইথস নাকি অনেক দূর পর্যন্ত রিজনিং মেইনটেইন করতে পারে। আর এই জায়গাটাই রিসার্চারদের সবচেয়ে বেশি অবাক করেছে। টেক কমিউনিটিতে সবচেয়ে বেশি আলোচনা হচ্ছে একটাই বিষয় নিয়ে মাইথস নাকি এমন security flaw খুঁজে পেয়েছে, যেগুলো এক্সপার্টরাও প্রথমে ধরতে পারেনি।&lt;/p&gt;

&lt;p&gt;জাস্ট একবার ভাবেন বিষয়টা, একজন সিনিয়র সিকিউরিটি ইঞ্জিনিয়ার কয়েকদিন ধরে code audit করছে, তারপর AI কয়েক মিনিটে এসে বলছে “ইস্যুটা এখানে”। এটা শুধু impressive না, এটা unsettling। কারণ প্রথমবার অনেকেই বুঝতে শুরু করেছে AI শুধু লিখছে না, AI এখন সিস্টেম বুঝতে শুরু করেছে। সাধারণত নতুন মডেল আসলে কোম্পানি হাইপ তৈরি করে, ডেমো দেয়, API দেয়, সবাইকে এক্সেস দেয়। কিন্তু মাইথস এর ক্ষেত্রে বিষয়টা পুরোপুরি ডিফরেন্ট। যেটুকু জানা যাচ্ছে, এটাকে লিমিটেড এনভায়রনমেন্টের বাইরে খুব সাবধানে রাখা হয়েছে।&lt;/p&gt;

&lt;p&gt;কারণটা খুব সিম্পল। একটা মডেল যদি ভালনারেবিলিটি খুঁজতে পারে, এক্সপ্লোইট বুঝতে পারে, সিকিউর আর্কিটেকচার অ্যানালাইজ করতে পারে তাহলে একই টেকনোলজি ডিফেন্সিভ সিকিউরিটিতে যেমন কাজে লাগতে পারে, ঠিক তেমনি ভুল হাতে গেলে অফেন্সিভ সাইডেও ডেঞ্জারাস হতে পারে। আর সেখানেই মাইথস কে ঘিরে ফ্যাসিনেশন আরও বেড়েছে। কারণ টেক ওয়ার্ল্ড অনেকদিন পর এমন একটা মডেল দেখছে, যেটাকে শুধু পাওয়ারফুল না, বরং সেন্সিটিভ হিসেবেও দেখা হচ্ছে।&lt;/p&gt;

&lt;p&gt;ইনসাইডার ডিসকাশনে একটা কথা বারবার আসছে Mythos নাকি শুধু প্রম্পট ফলো করে না, বরং এটা intent ও বুঝতে চেষ্টা করে। মানে আপনি যা লিখলেন, শুধু সেই শব্দ না, আপনি আসলে কী বোঝাতে চাইছেন, সেটাও মডেল ধরার চেষ্টা করে। ছোট শোনালেও AI আর্কিটেকচারের দুনিয়ায় এটা huge leap। কারণ এখান থেকেই মডেল শুধু রেসপন্স ইঞ্জিন না থেকে একটা রিজনিং ইঞ্জিনে ইভল্ভ করে।&lt;/p&gt;

&lt;p&gt;আর সম্ভবত এই কারণেই Mythos নামটা এত মানানসই। কারণ মাইথস শব্দটার অর্থই অনেকটা গল্প, রহস্য, লিজেন্ড। আর মডেলটার অবস্থাও এখন ঠিক তাই। সবাই নাম শুনছে, অল্প কিছু মানুষ এক্সেস পাচ্ছে, ডিটেইলস সীমিত, ক্যাপাবিলিটিস নিয়ে speculation বাড়ছে।&lt;/p&gt;

&lt;p&gt;টেক ওয়ার্ল্ডে এমন মডেল খুব কমই আসে, যেটা রিলিজ হওয়ার আগেই একটা ডিজিটাল লিজেন্ড হয়ে যায়। Mythos এখন ঠিক সেই স্টেজে আছে। মাইথস নিয়ে মানুষ শুধু ইম্প্রেজড না, অনেকে quietly concerned ও। কারণ AI যখন কোড বুঝে, লজিক ট্রেস করে, হিডেন উইকনেস ডিটেক্ট করে, ডিপ রিজনিং ধরে রাখতে পারে তখন প্রশ্নটা শুধু এমন হয় না, &lt;strong&gt;“AI কী পারে?”&lt;/strong&gt; প্রশ্নটা হয়ে যায় &lt;strong&gt;“AI কতদূর পর্যন্ত বুঝতে শুরু করেছে?”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;আর এই প্রশ্নটাই Mythos কে অন্য সব মডেল থেকে আলাদা করে দিয়েছে। হয়তো মাইথস এখনো পাব্লিকের হাতে আসেনি। হয়তো অনেকেই এটা ব্যবহারও করতে পারবে না। কিন্তু কিছু টেকনোলজি থাকে, যেগুলো বাজারে আসার আগেই বোঝা যায় এগুলো শুধু প্রোডাক্ট না, এগুলো সিগন্যাল। Mythos হয়তো সেই সিগন্যাল যে,  &lt;strong&gt;&lt;em&gt;AI এর পরের চ্যাপ্টার কোয়াইটলি শুরু হয়ে গেছে।&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>claude</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Dark Mode with Tailwind v4 &amp; next-themes</title>
      <dc:creator>Abu Jakaria</dc:creator>
      <pubDate>Sat, 10 Jan 2026 19:10:46 +0000</pubDate>
      <link>https://forem.com/abujakariacse/dark-mode-with-tailwind-v4-next-themes-1mag</link>
      <guid>https://forem.com/abujakariacse/dark-mode-with-tailwind-v4-next-themes-1mag</guid>
      <description>&lt;p&gt;A simple guide to implementing dark mode in React using Tailwind CSS v4 and next-themes.&lt;/p&gt;




&lt;h2&gt;
  
  
  📦 Installation
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install &lt;/span&gt;next-themes
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🚀 Setup
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Step 1: Wrap App with ThemeProvider
&lt;/h3&gt;

&lt;p&gt;In &lt;strong&gt;main.jsx&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;ThemeProvider&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;next-themes&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="nf"&gt;createRoot&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getElementById&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;root&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)).&lt;/span&gt;&lt;span class="nf"&gt;render&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;StrictMode&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;ThemeProvider&lt;/span&gt; &lt;span class="na"&gt;attribute&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"class"&lt;/span&gt; &lt;span class="na"&gt;defaultTheme&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"system"&lt;/span&gt; &lt;span class="na"&gt;enableSystem&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;App&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;ThemeProvider&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;StrictMode&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Props:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;attribute="class"&lt;/code&gt; - Adds &lt;code&gt;dark&lt;/code&gt; class to &lt;code&gt;&amp;lt;html&amp;gt;&lt;/code&gt; element&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;defaultTheme="system"&lt;/code&gt; - Uses system preference by default&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;enableSystem&lt;/code&gt; - Detects system theme automatically&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;storageKey="theme-name"&lt;/code&gt; - (Optional) Custom localStorage key&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Step 2: Configure Colors in index.css
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="k"&gt;@import&lt;/span&gt; &lt;span class="s1"&gt;"tailwindcss"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;@variant&lt;/span&gt; &lt;span class="n"&gt;dark&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="err"&gt;&amp;amp;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;is&lt;/span&gt;&lt;span class="p"&gt;(.&lt;/span&gt;&lt;span class="n"&gt;dark&lt;/span&gt; &lt;span class="err"&gt;*&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;

&lt;span class="k"&gt;@theme&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="py"&gt;--color-primary&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;light-dark&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;#10b981&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;#dc2626&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="py"&gt;--color-surface&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;light-dark&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;#f8fafc&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;#0f172a&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Syntax:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nt"&gt;--color-&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="o"&gt;]:&lt;/span&gt; &lt;span class="nt"&gt;light-dark&lt;/span&gt;&lt;span class="o"&gt;([&lt;/span&gt;&lt;span class="nt"&gt;light-color&lt;/span&gt;&lt;span class="o"&gt;],&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;dark-color&lt;/span&gt;&lt;span class="o"&gt;]);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🎨 Using Custom Colors
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Define in CSS:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nt"&gt;--color-primary&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;light-dark&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="err"&gt;#10&lt;/span&gt;&lt;span class="nt"&gt;b981&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nf"&gt;#dc2626&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Use in JSX:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;h1&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"text-primary"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Hello&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;h1&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"bg-primary"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Content&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Rule:&lt;/strong&gt; Don't include &lt;code&gt;text-&lt;/code&gt; or &lt;code&gt;bg-&lt;/code&gt; in variable names. Tailwind adds them automatically!&lt;/p&gt;




&lt;h2&gt;
  
  
  🔧 Theme Toggle
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Basic Implementation
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;useTheme&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;next-themes&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;ThemeToggle&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;theme&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setTheme&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;useTheme&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

  &lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt; &lt;span class="na"&gt;onClick&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nf"&gt;setTheme&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;theme&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;dark&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;light&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;dark&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;theme&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;dark&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;🌙&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;☀️&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Prevent Hydration Issues
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;useTheme&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;next-themes&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;useEffect&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;useState&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;ThemeToggle&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;theme&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setTheme&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;useTheme&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;mounted&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setMounted&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;useState&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

  &lt;span class="nf"&gt;useEffect&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nf"&gt;setMounted&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="p"&gt;[]);&lt;/span&gt;

  &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;mounted&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

  &lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt; &lt;span class="na"&gt;onClick&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nf"&gt;setTheme&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;theme&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;dark&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;light&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;dark&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      Toggle Theme
    &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  📖 useTheme Hook API
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;theme&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setTheme&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;systemTheme&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;themes&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;useTheme&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Property&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;theme&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Current theme: &lt;code&gt;"light"&lt;/code&gt;, &lt;code&gt;"dark"&lt;/code&gt;, or &lt;code&gt;"system"&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;setTheme(name)&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;function&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Change theme&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;systemTheme&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;System preference: &lt;code&gt;"light"&lt;/code&gt; or &lt;code&gt;"dark"&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;themes&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;array&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Available themes&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  💡 Common Color Schemes
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="k"&gt;@theme&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="c"&gt;/* Backgrounds */&lt;/span&gt;
  &lt;span class="nt"&gt;--color-surface&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;light-dark&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;#f8fafc&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="err"&gt;#0&lt;/span&gt;&lt;span class="nt"&gt;f172a&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
  &lt;span class="nt"&gt;--color-card&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;light-dark&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;#ffffff&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="err"&gt;#1&lt;/span&gt;&lt;span class="nt"&gt;e293b&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;

  &lt;span class="c"&gt;/* Text */&lt;/span&gt;
  &lt;span class="nt"&gt;--color-primary&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;light-dark&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="err"&gt;#1&lt;/span&gt;&lt;span class="nt"&gt;f2937&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nf"&gt;#f9fafb&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
  &lt;span class="nt"&gt;--color-secondary&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;light-dark&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="err"&gt;#6&lt;/span&gt;&lt;span class="nt"&gt;b7280&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="err"&gt;#9&lt;/span&gt;&lt;span class="nt"&gt;ca3af&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;

  &lt;span class="c"&gt;/* Brand */&lt;/span&gt;
  &lt;span class="nt"&gt;--color-brand&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;light-dark&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="err"&gt;#10&lt;/span&gt;&lt;span class="nt"&gt;b981&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="err"&gt;#34&lt;/span&gt;&lt;span class="nt"&gt;d399&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
  &lt;span class="nt"&gt;--color-accent&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;light-dark&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="err"&gt;#3&lt;/span&gt;&lt;span class="nt"&gt;b82f6&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="err"&gt;#60&lt;/span&gt;&lt;span class="nt"&gt;a5fa&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🐛 Troubleshooting
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Dark mode not working?&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Check if &lt;code&gt;&amp;lt;html class="dark"&amp;gt;&lt;/code&gt; appears in DevTools&lt;/li&gt;
&lt;li&gt;Clear localStorage and refresh&lt;/li&gt;
&lt;li&gt;Verify &lt;code&gt;@variant dark (&amp;amp;:is(.dark *));&lt;/code&gt; is in CSS&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Colors not changing?&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Don't include &lt;code&gt;text-&lt;/code&gt; or &lt;code&gt;bg-&lt;/code&gt; in color variable names&lt;/li&gt;
&lt;li&gt;Use correct syntax: &lt;code&gt;light-dark(#fff, #000)&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  🎯 Quick Reference
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Setup&lt;/span&gt;
&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;ThemeProvider&lt;/span&gt; &lt;span class="na"&gt;attribute&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"class"&lt;/span&gt; &lt;span class="na"&gt;defaultTheme&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"system"&lt;/span&gt; &lt;span class="na"&gt;enableSystem&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;

// Toggle theme
const &lt;span class="si"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;theme&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setTheme&lt;/span&gt; &lt;span class="si"&gt;}&lt;/span&gt; = useTheme();
setTheme(theme === "dark" ? "light" : "dark");

// Define colors
--color-primary: light-dark(#10b981, #dc2626);

// Use colors
&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"bg-primary text-secondary"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  📚 Resources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/pacocoursey/next-themes" rel="noopener noreferrer"&gt;next-themes GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://tailwindcss.com/docs" rel="noopener noreferrer"&gt;Tailwind CSS v4&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>react</category>
      <category>webdev</category>
      <category>tailwindcss</category>
      <category>darkmode</category>
    </item>
  </channel>
</rss>
