/* Original Arivu learning space: sculpted objects, gentle depth, quiet reading. */
:root { --bg:#faf9f6; --paper:#fffefa; --section:#f3f0fa; --accent:#6040b0; --accent-hover:#4b2c93; --hero-accent:#7150bf; --line:#e4dfee; --muted:#655d74; --ambient:radial-gradient(ellipse at 83% 6%,#e7dcfa9e,transparent 48%),radial-gradient(ellipse at 8% 35%,#e6f4eb80,transparent 50%); }
:root[data-theme="dark"] { --bg:#171522; --paper:#242032; --section:#211c31; --accent:#d0b9ff; --accent-hover:#e2d3ff; --hero-accent:#cdb3ff; --line:#473c5b; --muted:#c7bfd4; --ambient:radial-gradient(ellipse at 83% 6%,#65469148,transparent 48%),radial-gradient(ellipse at 8% 35%,#37645c30,transparent 50%); }
.site-header { border-bottom-color:color-mix(in srgb,var(--line) 70%,transparent); }
.brand-mark { box-shadow:inset 0 2px 2px #fff6,0 3px 0 color-mix(in srgb,var(--accent) 70%,#302147),0 7px 12px #56378d1b; transform:rotate(-5deg); border-radius:13px; }
.site-header nav a { transition:background .25s,color .25s; }
.site-header nav a[aria-current] { background:var(--accent-soft); }
.button { border-radius:15px; }
.button.primary { box-shadow:inset 0 1px 1px #fff4,0 4px 0 color-mix(in srgb,var(--accent) 68%,#221037),0 10px 22px #6b45ad23; }
.button.primary:hover { transform:translateY(-2px); }
.button.primary:active { transform:translateY(2px); }
.theme { box-shadow:inset 0 2px 2px #ffffff32,0 3px 8px #2a14380d; }
.hero { padding-block:40px 42px; gap:16px; }
.hero-copy { gap:22px; }
.hero h1 { font-size:clamp(2.8rem,6.2vw,4.9rem); letter-spacing:-.055em; line-height:1.06; max-width:12ch; }
.hero h1 em { position:relative; display:inline-block; }
.hero h1 em::after { content:""; position:absolute; bottom:-.06em; left:0; right:0; height:.07em; border-radius:50%; background:#c9b4f1; transform:rotate(-3deg); }
.eyebrow { border:1px solid var(--line); border-radius:99px; padding:6px 12px; background:var(--paper); font-size:.72rem; letter-spacing:.04em; }
.eyebrow-dot { background:#529e83; box-shadow:0 0 0 4px #67b2971f; width:7px; height:7px; }
.hero-description { font-size:1.06rem; line-height:1.8; max-width:42ch; }
.hero-points { display:flex; gap:8px 18px; flex-wrap:wrap; padding:0; list-style:none; color:var(--muted); font-size:.82rem; }
.hero-points li { display:flex; align-items:center; gap:6px; }
.hero-points li::before { content:"✓"; color:var(--accent); font-weight:800; }
.learning-world { position:relative; min-width:0; aspect-ratio:1.09; border-radius:50%; isolation:isolate; }
.learning-world::before { content:""; position:absolute; inset:8% 3% 5%; z-index:-2; border-radius:50%; background:radial-gradient(ellipse at 40% 35%,#fffdf8 0,#f0e8ff 53%,#ddd0f3 100%); border:1px solid #ffffffb0; box-shadow:inset 0 -10px 40px #c2a9ec25,0 24px 70px #7455a311; }
[data-theme="dark"] .learning-world::before { background:radial-gradient(ellipse at 40% 35%,#4b3d65,#2f2543 80%); border-color:#b2a0cb29; }
.world-grid { position:absolute; inset:12% 5% 8%; z-index:-1; background-image:radial-gradient(#977bb94a .9px,transparent .9px); background-size:19px 19px; border-radius:50%; mask-image:linear-gradient(transparent,#000 65%,transparent); }
.world-sculpture { display:block; width:100%; height:auto; overflow:visible; }
.world-note { position:absolute; display:flex; align-items:center; gap:10px; max-width:81%; padding:11px 16px; background:var(--glass-surface); border:1px solid var(--glass-rim); border-radius:17px; box-shadow:0 12px 26px #53357b15,inset 0 1px 0 #fff6; font-size:clamp(.7rem,1.1vw,.88rem); font-weight:700; line-height:1.5; }
.world-note-top { top:3%; right:5%; transform:rotate(4deg); }
.world-note-bottom { bottom:3%; left:8%; transform:rotate(-4deg); }
.world-note small { display:block; color:var(--muted); font-size:.8em; font-weight:500; }
.note-spark { color:#a5752f; font-size:1.7em; }
.note-check { display:grid; place-items:center; background:#d4f1df; color:#286347; width:30px; height:30px; border-radius:50%; }
.world-books { animation:book-arrive 1.2s cubic-bezier(.2,.75,.2,1) both; }
.world-orb,.world-atom,.world-letter,.world-math { animation:object-arrive 1.4s cubic-bezier(.2,.75,.2,1) both; }
.world-orb { animation-delay:.15s; }.world-atom { animation-delay:.25s; }.world-math { animation-delay:.35s; }
@keyframes book-arrive { from { opacity:0; translate:0 26px; } to { opacity:1; translate:0 0; } }
@keyframes object-arrive { from { opacity:0; translate:0 18px; } to { opacity:1; translate:0 0; } }
.learning-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:19px 8px; border-block:1px solid var(--line); margin-bottom:32px; }
.learning-strip > div { padding-inline:12px; text-align:center; display:grid; gap:3px; min-width:0; overflow-wrap:anywhere; }
.learning-strip > div + div { border-left:1px solid var(--line); }
.learning-strip strong { font-size:clamp(1.1rem,2.4vw,1.65rem); color:var(--accent); letter-spacing:-.03em; }
.learning-strip span { color:var(--muted); font-size:.79rem; }
.class-library { background:linear-gradient(180deg,color-mix(in srgb,var(--section) 65%,var(--bg)),var(--bg)); border:none; padding-block:34px 48px; }
.library-heading { padding-bottom:14px; }
.library-heading p { max-width:42ch; font-size:.92rem; }
.class-group { margin-top:28px; }
.group-heading { margin-bottom:17px; }
.group-heading > span { background:var(--paper); border:1px solid var(--line); padding:2px 9px; border-radius:99px; font-size:.75rem; }
.folder-grid { gap:20px 14px; }
.folder { border-radius:23px; padding:17px 13px 16px; background:linear-gradient(140deg,#ffffff50,transparent 65%),var(--paper); box-shadow:0 5px 0 color-mix(in srgb,var(--line) 60%,var(--bg)),0 12px 22px #40305009,inset 0 1px 0 var(--glass-rim); transition:transform .42s var(--glide),border-color .3s; }
.folder-art { height:91px; margin:0 4px 17px; perspective:450px; transform:rotate(-4deg); }
.folder-back { inset:13px 0 0; box-shadow:inset 0 2px 2px #fff8; }
.folder-paper { inset:12px 10% 10px; box-shadow:0 2px 3px #3d21501c; transform:rotate(3deg); }
.folder-paper::after { content:""; position:absolute; inset:26px 17% 10px; background:repeating-linear-gradient(transparent 0 6px,var(--tab) 6px 8px); opacity:.35; }
.folder-front { inset:30px 0 0; padding-inline:14px; border-radius:10px 17px 13px 13px; background:linear-gradient(145deg,#ffffffb0,transparent 65%),var(--tint); box-shadow:inset 0 2px 1px #ffffffc0,inset 0 -3px 2px color-mix(in srgb,var(--tab) 60%,transparent),0 6px 9px #3d21501c; }
.folder-symbol { font-size:2rem; text-shadow:0 2px 0 #fff7; }
.folder-arrow { display:grid; place-items:center; width:27px; height:27px; background:#ffffff70; border-radius:50%; font-size:1rem; }
.folder-caption { gap:5px; }
.folder-caption strong { font-size:1.02rem; }
.folder-caption > span { font-size:.78rem; }
.folder:focus-visible .folder-paper { transform:translateY(-15px) rotate(5deg); }
.folder:focus-visible .folder-front { transform:rotateX(-22deg); }
.try-learning { display:grid; gap:24px; padding:26px; margin-block:16px 40px; border:1px solid var(--line); border-radius:28px; background:var(--glass-surface); box-shadow:var(--glass-depth); }
.try-copy { align-self:center; display:grid; justify-items:start; gap:14px; }
.try-copy h2 { font-size:clamp(1.8rem,3vw,2.6rem); letter-spacing:-.04em; max-width:19ch; }
.try-copy p { font-size:.98rem; max-width:40ch; }
.try-learning .lesson-motion { margin:0; }
.how { padding-block:24px 64px; }
.steps { counter-reset:learning-step; gap:16px; }
.steps li { position:relative; border-radius:21px; padding:22px 17px; box-shadow:inset 0 1px 0 var(--glass-rim),0 6px 0 color-mix(in srgb,var(--line) 55%,var(--bg)); }
.step-icon,.chapter-icon { box-shadow:inset 0 2px 2px #fff9,0 3px 0 var(--tab),0 6px 9px #452e6310; transform:rotate(-5deg); border-radius:13px; }
.inner-page { padding-top:32px; }
.page-heading { padding:24px; border:1px solid var(--line); border-radius:25px; background:var(--glass-surface); position:relative; overflow:hidden; }
.page-heading::after { content:""; pointer-events:none; position:absolute; width:130px; height:130px; border:24px solid color-mix(in srgb,var(--accent-soft) 40%,transparent); border-radius:50%; right:-40px; top:-60px; }
.page-heading h1,.page-heading p { position:relative; z-index:1; }
.page-heading h1 { font-size:clamp(2rem,4.6vw,3.4rem); }
.surface,.chapter-card { border-radius:21px; }
.lesson-panel,.report,.results-card,.book-card { box-shadow:inset 0 1px 0 var(--glass-rim),0 9px 22px #30234407; }
.term-nav { padding:5px; width:fit-content; border:1px solid var(--line); background:var(--section); border-radius:22px; }
.term-nav a { border-color:transparent; border-radius:17px; background:transparent; }
.term-nav a[aria-current] { background:var(--paper); box-shadow:0 3px 8px #30234412; border-color:var(--line); }
.chapter-card { padding:20px; }
.ring { box-shadow:0 3px 8px #4a286f14; }
.source-book > summary { border-radius:20px 20px 0 0; }
.source-unit-link { padding:13px 10px; border-radius:15px; }
.site-footer { background:var(--section); border-top:1px solid var(--line); }
.footer-inner { padding-block:34px; }
@media (hover:hover) and (pointer:fine) {
  .folder:hover .folder-paper { transform:translateY(-15px) rotate(5deg); }
  .folder:hover .folder-front { transform:rotateX(-22deg); }
  .learning-world:hover .world-orb { translate:0 -7px; transition:translate .8s var(--glide); }
}
@media(min-width:680px) { .try-learning { grid-template-columns:.9fr 1fr; padding:32px; } .folder-art { height:105px; } .folder { padding:20px 18px; } .learning-strip { padding-block:24px; } }
@media(min-width:900px) { .hero { padding-block:54px 47px; gap:24px; grid-template-columns:1fr 1.08fr; } .hero h1 { font-size:4.6rem; } .learning-world { margin-right:-18px; } .folder-grid { gap:24px 19px; } .folder-art { height:114px; } .class-library { padding-block:40px 55px; } }
@media(max-width:380px) { .hero h1 { font-size:2.6rem; } .world-note { padding:8px 11px; } .folder { padding:14px 10px; } .folder-art { height:80px; } .try-learning { padding:18px; } .header-inner { gap:0 6px; } .brand { font-size:1.6rem; gap:6px; } .header-actions { gap:4px; } .site-header nav a { padding-inline:4px; font-size:.8rem; } }
:lang(ta) .hero h1 { line-height:1.4; letter-spacing:0; font-size:clamp(2.1rem,4.6vw,3.65rem); }
:lang(ta) .try-copy h2 { line-height:1.5; letter-spacing:0; }
@media(prefers-reduced-motion:reduce) { .world-books,.world-orb,.world-atom,.world-letter,.world-math { animation:none; } .folder,.folder-art,.folder-paper,.folder-front,.button { transition:none; } .folder:hover,.button.primary:hover { transform:none; } .learning-world:hover .world-orb { translate:none; } }
