/* Author: Sandeep Belgavi. AICassindra collection and reading theme. */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Sora:wght@500;600;700&display=swap');
:root{--bg:#050714;--bg-2:#0a0e23;--surface:#fff;--surface-2:#fafbff;--text:#0b1024;--text-2:#4b5563;--border:#e2e8f0;--blue:#3b82f6;--indigo:#6366f1;--violet:#8b5cf6;--link:#4255c5}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--surface-2);color:var(--text);font:16px/1.7 Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--link);text-underline-offset:5px}a:focus-visible{outline:3px solid var(--blue);outline-offset:5px}a:hover{text-decoration:underline}h1,h2,h3{font-family:Sora,Inter,system-ui,sans-serif;line-height:1.25;letter-spacing:-.04em}p{margin:0 0 16px}.wrap{width:min(1200px,100%);margin:auto;padding:0 36px}.skip{position:absolute;top:-100px;left:16px;z-index:5;background:white;padding:12px}.skip:focus{top:12px}.collection-nav{background:var(--bg);border-bottom:1px solid #ffffff14}.collection-nav .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:22px;padding-bottom:22px;gap:20px}.brand{color:#fff;text-decoration:none;font-family:Sora,system-ui,sans-serif;font-size:23px;font-weight:600;letter-spacing:-1px}.brand span{color:#a78bfa}.navlinks{display:flex;gap:28px;flex-wrap:wrap;font-size:13px}.navlinks a{color:#bfc7dd;text-decoration:none}.navlinks a[aria-current]{color:#fff}.collection-hero{color:white;background:radial-gradient(ellipse at 90% 20%,#6366f11c,transparent 60%),var(--bg);padding:46px 0 64px}.hero-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(240px,.8fr);gap:64px;align-items:center}.breadcrumb{font-size:12px;color:#a6afc6;margin-bottom:44px}.breadcrumb a{color:inherit;text-decoration:none}.breadcrumb span{padding:0 10px;color:#6c7690}.eyebrow{display:block;font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#5863c5}.collection-hero .eyebrow{color:#acb4ff}.collection-hero h1{font-size:clamp(36px,4.7vw,61px);line-height:1.13;font-weight:600;margin:18px 0 24px;max-width:720px;letter-spacing:-.055em}.collection-hero h1 span{color:#b7baff}.hero-description{font-size:17px;line-height:1.8;color:#b8c2d8;max-width:610px}.hero-actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin:30px 0}.primary-link{display:inline-flex;align-items:center;gap:28px;background:#6366f1;color:white;text-decoration:none;font-size:13px;font-weight:600;padding:13px 18px;border-radius:6px}.primary-link:hover{background:#5558db;text-decoration:none}.text-link{font-size:12px;color:#d0d5e8;text-decoration:none}.collection-byline{font-size:12px;color:#9ca8c3;margin:32px 0 0}.collection-byline strong{font-weight:500;color:#dce2f0}.collection-note{border-left:1px solid #ffffff25;padding-left:30px}.collection-counts{display:flex;gap:36px;margin:24px 0}.collection-counts strong{display:block;font-family:Sora,system-ui,sans-serif;font-size:44px;font-weight:500;line-height:1.2;letter-spacing:-2px}.collection-counts span{font-size:11px;color:#aeb9d1}.note-rule{height:1px;background:#ffffff20;margin:24px 0}.collection-note p{font-size:14px;color:#c4cbe0;line-height:1.8}.note-topics{display:flex;flex-wrap:wrap;gap:10px 18px;color:#9ca9c7;font-size:11px;margin-top:22px}.chapter-nav{border-bottom:1px solid var(--border);background:white}.chapter-nav nav{display:flex;gap:38px;flex-wrap:wrap;padding-top:20px;padding-bottom:20px}.chapter-nav a{display:flex;gap:10px;color:#727b90;font-size:11px;text-decoration:none}.chapter-nav a span{font-size:12px;font-weight:500;color:#30394f}.chapter-nav a:hover span{color:var(--link)}.collection-body{padding-top:8px;padding-bottom:38px}.chapter{display:grid;grid-template-columns:280px minmax(0,1fr);gap:64px;padding:52px 0;border-bottom:1px solid var(--border)}.chapter-heading h2{font-size:25px;margin:14px 0;letter-spacing:-1px;font-weight:600}.chapter-heading p{font-size:13px;color:var(--text-2);line-height:1.8}.guide-list{min-width:0}.guide{display:grid;grid-template-columns:28px 1fr 18px;gap:16px;text-decoration:none;color:var(--text);padding:23px 0;border-top:1px solid var(--border)}.guide:first-child{padding-top:0;border-top:0}.guide:last-child{padding-bottom:0}.guide-number{font:11px/1.8 ui-monospace,monospace;color:#7c8498;padding-top:4px}.guide h3{font-size:18px;letter-spacing:-.45px;margin:0 0 8px;font-weight:500}.guide p{font-size:13px;line-height:1.75;color:var(--text-2);margin:0 0 9px}.guide-format{font-size:10px;letter-spacing:.03em;color:#5863a8}.guide-arrow{color:#6b74cb;transition:transform .15s}.guide:hover{text-decoration:none}.guide:hover h3{color:var(--link)}.guide:hover .guide-arrow{transform:translate(2px,-2px)}.practice{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;margin-top:42px;padding:32px;background:#eef0ff;border:1px solid #e0e4fa;border-radius:10px}.practice h2{font-size:27px;margin:14px 0}.practice p{font-size:13px;color:var(--text-2)}.practice .practice-note{font-size:11px;margin:18px 0 0}.practice-code{display:flex;justify-content:center;flex-direction:column;gap:16px;min-width:0}.code-label{font-size:11px;color:#535d78}.practice-code code{display:block;font:12px/1.8 ui-monospace,monospace;white-space:normal;overflow-wrap:anywhere;padding:18px;border-radius:6px;background:var(--bg-2);color:#d9ddff}.practice-code a{font-size:12px}.scope-note{font-size:11px;color:#646e84;max-width:800px;margin:22px 0 0}.sitefooter{background:var(--bg);color:#9eabc5;padding:34px 0}.sitefooter .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.sitefooter p{font-size:12px;margin:10px 0}.sitefooter a:not(.brand){color:#bdc7df;font-size:12px;margin-right:16px}.article{max-width:850px;margin:auto;padding:52px 36px 76px;background:var(--surface)}.article h1{font-size:clamp(30px,4vw,45px);line-height:1.2;margin:22px 0}.article h2{font-size:25px;margin:38px 0 16px}.article h3{font-size:20px}.article p{margin:18px 0;color:#344055}.article .lead{font-size:19px;line-height:1.7;color:#535f77}.article>p:first-child{font-size:12px}.article p:has(+.lead){font-size:12px;color:#626b80}.article pre{background:var(--bg-2);color:#dce3ff;padding:24px;border-radius:8px;overflow:auto;font:13px/1.8 ui-monospace,monospace;max-width:100%}.article code{font-family:ui-monospace,monospace;overflow-wrap:anywhere}.article figure{margin:28px 0}.article img{width:100%;max-height:650px;object-fit:contain}.article figcaption{font-size:12px;color:var(--text-2)}.article table{display:block;overflow:auto}.article a{overflow-wrap:anywhere}.article .notice,.article .toc{padding:20px 24px;background:#eef0ff;border-left:3px solid var(--indigo);margin:24px 0}.toc a{display:block}.exercise-download{display:inline-block;font-size:13px;font-weight:500}.series-nav{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid var(--border);padding-top:24px;margin-top:40px}
@media(max-width:850px){.hero-layout{gap:30px;grid-template-columns:1fr}.collection-note{border-left:0;border-top:1px solid #ffffff25;padding:24px 0 0}.collection-counts{margin:16px 0}.collection-note .note-rule,.note-topics{display:none}.collection-note p{margin-bottom:0;max-width:450px}.chapter{grid-template-columns:220px minmax(0,1fr);gap:30px}.chapter-nav nav{gap:18px 28px}.practice{gap:25px}}@media(max-width:600px){.wrap{padding-left:22px;padding-right:22px}.collection-nav .wrap{flex-direction:column;align-items:flex-start;padding-top:17px;padding-bottom:17px;gap:12px}.brand{font-size:21px}.navlinks{gap:22px;font-size:12px}.collection-hero{padding:26px 0 34px}.breadcrumb{margin-bottom:28px;font-size:11px}.collection-hero h1{font-size:38px}.hero-description{font-size:15px}.hero-actions{gap:18px}.primary-link{padding:12px 16px}.collection-byline{margin-top:24px}.collection-counts strong{font-size:34px}.collection-note p{font-size:13px}.chapter-nav nav{display:grid;grid-template-columns:1fr 1fr;gap:16px}.chapter{grid-template-columns:1fr;gap:20px;padding:32px 0}.chapter-heading h2{font-size:25px;margin:10px 0}.chapter-heading p{margin-bottom:0}.guide{gap:12px;grid-template-columns:22px 1fr 14px;padding:20px 0}.guide h3{font-size:17px}.guide p{font-size:13px}.practice{grid-template-columns:1fr;padding:24px;margin-top:30px}.practice h2{font-size:25px}.article{padding:30px 22px 50px}.article h2{font-size:23px}.article pre{font-size:12px;padding:16px}.article .lead{font-size:17px}.sitefooter .wrap{flex-direction:column}.sitefooter{padding:26px 0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.guide-arrow{transition:none}}
/* Shared article interior: same header, color tokens and typography as collections. */
.article-hero{background:var(--bg);color:white;padding:38px 0 46px}.article-hero .wrap{max-width:1200px}.article-hero .breadcrumb{margin-bottom:28px}.article-hero .eyebrow{color:#acb4ff}.article-hero h1{max-width:960px;font-size:clamp(32px,4vw,48px);line-height:1.2;margin:17px 0 20px;font-weight:600}.article-deck{max-width:810px;color:#b8c2d8;font-size:18px;line-height:1.7}.article-byline{font-size:12px;color:#acb7cf;margin:24px 0 0}.article-byline strong{color:#e0e5f2;font-weight:500}.reading-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:48px;padding-top:38px;padding-bottom:60px;align-items:start}.article-toc{position:sticky;top:28px}.article-toc nav{display:flex;flex-direction:column;gap:13px}.article-toc .eyebrow{margin-bottom:8px}.article-toc a{font-size:12px;line-height:1.6;color:#58647b;text-decoration:none;border-left:2px solid var(--border);padding-left:12px}.article-toc a:hover{color:var(--link);border-color:var(--indigo)}.reading-layout .article{padding:0;max-width:780px;margin:0;background:transparent;min-width:0}.reading-layout .article h2:first-child{margin-top:0}.article-pagination{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:40px;padding-top:24px;border-top:1px solid var(--border);font-size:13px}.article h2{scroll-margin-top:28px}@media(max-width:850px){.reading-layout{grid-template-columns:1fr;gap:30px}.article-toc{position:static;padding:20px;background:#eef0ff;border-radius:6px}.article-toc nav{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}.article-toc .eyebrow{grid-column:1/-1}}@media(max-width:600px){.article-hero{padding:26px 0 34px}.article-deck{font-size:16px}.reading-layout{padding-top:24px;padding-bottom:40px}.article-toc nav{grid-template-columns:1fr}.article-hero .breadcrumb{font-size:11px;line-height:1.8}}
