:root{--midnight: #0b0d17;--gold: #c9a24b;--gold-soft: #e9c873;--ivory: #f3ebdd;--ivory-dim: rgba(243, 235, 221, .68);--maroon: #5a1a1f;--serif: "Cormorant Garamond", Georgia, serif;--display: "Cinzel", "Cormorant Garamond", serif;--mono: "JetBrains Mono", ui-monospace, monospace;--tamil: "Noto Serif Tamil", serif;--gutter: clamp(16px, 3vw, 36px);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;background:var(--midnight);color:var(--ivory);font-family:var(--serif);-webkit-font-smoothing:antialiased;overflow-x:hidden}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.mono{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase}#webgl{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;display:block}.scroll-space{height:2800vh}#loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-content:center;justify-items:center;gap:18px;background:var(--midnight);transition:opacity 1s ease,visibility 1s}#loader.is-done{opacity:0;visibility:hidden}.loader-logo{width:min(240px,60vw);height:auto;margin-bottom:6px}.loader-text{font-family:var(--display);font-size:clamp(14px,2.2vw,26px);letter-spacing:.3em;color:var(--gold-soft);min-height:1.2em;padding:0 16px 0 .3em;text-align:center}.loader-rule{width:160px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.loader-pct{color:var(--ivory-dim)}.hud{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;pointer-events:none;opacity:0;transition:opacity 1.2s ease .4s}.is-ready .hud{opacity:1}.hud>*{position:absolute;pointer-events:auto;color:var(--ivory);text-decoration:none}.hud-tl{top:calc(var(--gutter) - 14px);left:calc(var(--gutter) - 12px);display:block}.hud-tl img{display:block;width:clamp(150px,15vw,210px);height:auto;filter:drop-shadow(0 2px 10px rgba(0,0,0,.5))}.hud-tr{top:var(--gutter);right:var(--gutter);border-bottom:1px solid var(--gold);padding-bottom:3px}.hud-bl{bottom:var(--gutter);left:var(--gutter);background:none;border:1px solid rgba(201,162,75,.5);border-radius:999px;padding:8px 14px;cursor:pointer}.hud-bl[aria-pressed=true]{background:#c9a24b2e}.hud-br{bottom:var(--gutter);right:var(--gutter);display:grid;gap:8px;justify-items:end}.bar{width:140px;height:1px;background:#f3ebdd33;overflow:hidden}.bar i{display:block;height:100%;background:var(--gold);transform-origin:left;transform:scaleX(0)}.hud a:focus-visible,.hud button:focus-visible,.btn:focus-visible,.hotspot button:focus-visible{outline:1px solid var(--gold-soft);outline-offset:4px}.chapter{position:fixed;z-index:10;pointer-events:none;opacity:0;transform:translateY(18px);transition:opacity .9s ease,transform .9s cubic-bezier(.16,1,.3,1)}.chapter.is-active{opacity:1;transform:none;pointer-events:auto}.eyebrow{color:var(--gold-soft);margin:0 0 18px}.chapter-hero{left:0;right:0;top:11vh;text-align:center;padding:0 var(--gutter)}.display{font-family:var(--display);font-weight:500;margin:0;font-size:clamp(32px,min(5.6vw,9vh),80px);line-height:1.05;letter-spacing:.04em;color:var(--ivory);text-shadow:0 2px 30px rgba(0,0,0,.6)}.display-sm{font-family:var(--display);font-weight:500;font-size:clamp(26px,3.6vw,46px);margin:0 0 18px;letter-spacing:.04em}.tamil{font-family:var(--tamil);font-size:clamp(18px,2.2vw,26px);color:var(--gold-soft);margin:22px 0 6px}.kural{font-style:italic;color:var(--ivory-dim);font-size:17px;margin:0}.chapter-kural{left:var(--gutter);bottom:calc(var(--gutter) + 60px);max-width:320px}.chapter-kural .tamil{margin-top:0}.lede{font-size:clamp(18px,1.6vw,22px);color:var(--ivory-dim);margin:0;max-width:32ch}.scroll-hint{position:fixed;z-index:10;left:50%;bottom:calc(var(--gutter) + 4px);transform:translate(-50%);color:var(--ivory-dim);margin:0;transition:opacity .6s ease;opacity:0}.is-ready .scroll-hint{opacity:1}.is-ready .scroll-hint.is-hidden{opacity:0}.chapter-method{left:var(--gutter);top:calc(50% + 30px);translate:0 -50%;max-width:min(600px,calc(100vw - 2 * var(--gutter)))}.chapter-method .display-sm{font-size:clamp(24px,min(3vw,5.5vh),42px)}.chapter-method:before,.chapter-class:before{content:"";position:absolute;top:-60px;right:-90px;bottom:-60px;left:-90px;z-index:-1;pointer-events:none;background:radial-gradient(closest-side,#0b0d17b8,#0b0d1700)}.method{list-style:none;margin:0;padding:0;display:grid;gap:14px}.method li{font-size:clamp(18px,1.7vw,23px);line-height:1.35;display:grid;grid-template-columns:44px 1fr;align-items:baseline;padding:12px 0;border-top:1px solid rgba(201,162,75,.28);opacity:0;transform:translate(-14px);transition:opacity .7s ease,transform .7s cubic-bezier(.16,1,.3,1)}.method li.is-on{opacity:1;transform:none}.method li .mono{color:var(--gold)}.chapter-class{right:var(--gutter);top:18vh;text-align:right;display:grid;justify-items:end}.btn{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;padding:15px 26px;border-radius:999px;transition:background .3s,color .3s}.btn-gold{background:var(--gold);color:var(--midnight)}.btn-gold:hover{background:var(--gold-soft)}.btn-ghost{color:var(--ivory);border:1px solid rgba(243,235,221,.4);background:#0b0d17a6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.btn-ghost:hover{border-color:var(--gold);color:var(--gold-soft)}.hotspot{position:fixed;left:0;top:0;z-index:15;opacity:0;pointer-events:none;transition:opacity .6s ease}.hotspot.is-visible{opacity:1;pointer-events:auto}.hotspot button{display:flex;align-items:center;gap:10px;translate:-9px -9px;background:none;border:0;color:var(--ivory);cursor:pointer;padding:0}.dot{width:18px;height:18px;border-radius:50%;border:1px solid var(--gold-soft);position:relative;flex:none}.dot:after{content:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;border-radius:50%;background:var(--gold-soft)}.dot:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:50%;border:1px solid var(--gold-soft);animation:ping 2.2s ease-out infinite}@keyframes ping{to{transform:scale(2.4);opacity:0}}.hotspot .label{background:#0b0d17b8;padding:6px 10px;border-radius:4px;white-space:nowrap}.hotspot .card{position:absolute;left:0;top:22px;width:240px;font-size:17px;line-height:1.4;color:var(--ivory);background:#0b0d17db;border:1px solid rgba(201,162,75,.45);border-radius:6px;padding:12px 14px;opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity .35s,transform .35s}.hotspot:hover .card,.hotspot.is-open .card{opacity:1;transform:none}.hotspot.up .card{top:auto;bottom:22px;transform:translateY(6px)}.hotspot.up:hover .card,.hotspot.up.is-open .card{transform:none}.chapter-panel{left:var(--gutter);top:50%;translate:0 -50%;width:min(420px,calc(100vw - 2 * var(--gutter)));padding:26px 28px;border-radius:8px;background:#0b0d17bd;border:1px solid rgba(201,162,75,.4);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.chapter-panel .eyebrow{margin-bottom:14px}.counter{color:var(--ivory-dim);margin:0 0 10px}.counter .dim{opacity:.6}.chapter-panel .display-sm{font-size:clamp(22px,2.4vw,32px);line-height:1.15;min-height:1.15em}.topics{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:7px}.topics li{font-size:18px;line-height:1.3;padding-left:18px;position:relative;animation:topic-in .5s ease both}@keyframes topic-in{0%{opacity:0;transform:translate(-8px)}}.topics li:before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;rotate:45deg;background:var(--gold)}.link{color:var(--gold-soft);text-decoration:none;border-bottom:1px solid rgba(201,162,75,.5);padding-bottom:3px}.link:hover{color:var(--ivory)}.role{color:var(--ivory-dim);margin:-8px 0 16px;letter-spacing:.1em}blockquote{margin:0;font-size:22px;line-height:1.35;font-style:italic;color:var(--ivory);border-left:2px solid var(--gold);padding-left:16px}.chapter-journey{left:var(--gutter);bottom:calc(var(--gutter) + 56px);max-width:400px}.chapter-journey .display-sm{font-size:clamp(24px,2.8vw,38px)}.chapter-journey:before{content:"";position:absolute;top:-60px;right:-90px;bottom:-60px;left:-90px;z-index:-1;pointer-events:none;background:radial-gradient(closest-side,#0b0d17b3,#0b0d1700)}.milestone{position:fixed;left:0;top:0;z-index:15;pointer-events:none;width:190px;opacity:0;transition:opacity .6s ease;translate:-50% -100%;text-align:center}.milestone.is-visible{opacity:1}.milestone span{color:var(--gold-soft);display:block;margin-bottom:4px}.milestone p{margin:0;font-size:16px;line-height:1.25;background:#0b0d17b8;padding:6px 10px;border-radius:4px;border:1px solid rgba(201,162,75,.3)}.chapter-final{left:0;right:0;bottom:calc(var(--gutter) + 46px);text-align:center;padding:0 var(--gutter);display:grid;justify-items:center}.chapter-final:before{content:"";position:absolute;top:-40px;right:0;bottom:-60px;left:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 55% 60% at 50% 60%,#0b0d17d1,#0b0d1700)}.chapter-final .display{font-size:clamp(30px,min(4.6vw,7vh),64px)}.chapter-final .tamil{margin:12px 0 22px}.actions{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;align-items:center}.actions.left{justify-content:flex-start;gap:20px;margin-top:4px}.final-logo{width:min(170px,45vw);height:auto;margin-bottom:10px}.lede.center{text-align:center;margin:12px auto 22px;max-width:46ch}.chapter-course{right:var(--gutter);bottom:calc(var(--gutter) + 60px);text-align:right;display:grid;justify-items:end;max-width:360px}.chapter-course .eyebrow{margin-bottom:8px}.course-name{font-family:var(--display);font-weight:500;font-size:clamp(20px,2.1vw,30px);line-height:1.15;margin:0 0 14px;letter-spacing:.03em;text-shadow:0 2px 20px rgba(0,0,0,.6)}.gold{color:var(--gold-soft)}.course-meta{color:var(--ivory-dim);margin:12px 0 0}.logo-row{display:flex;gap:8px;flex-wrap:wrap}.chapter-course .logo-row{justify-content:flex-end}.logo-chip{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:#f6eedc;border:1px solid var(--gold);box-shadow:0 4px 14px #00000059}.logo-chip img{width:26px;height:26px}.logo-chip.ai{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;border-color:#a5b4fc;font-size:13px;letter-spacing:.05em}.logo-row.small{margin:-6px 0 14px}.logo-row.small .logo-chip{width:32px;height:32px;border-radius:8px}.logo-row.small .logo-chip img{width:20px;height:20px}.equation{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin:0 0 16px}.equation span{display:grid;text-align:center;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ivory-dim)}.equation b{font-family:var(--tamil);font-weight:500;font-size:clamp(18px,1.8vw,24px);color:var(--gold-soft);letter-spacing:0;text-transform:none}.equation i{font-style:normal;color:var(--gold);font-size:22px}.new-badge{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:4px;color:#bff2ff;border:1px solid #7fe3ff;box-shadow:0 0 12px #7fe3ff73}.new-badge[hidden]{display:none}.topics li{display:flex;justify-content:space-between;gap:12px}.topics li .hrs{color:var(--ivory-dim);font-size:11px;white-space:nowrap;padding-top:4px}.topics li.is-new{color:#dff8ff;background:#7fe3ff1a;border:1px solid rgba(127,227,255,.55);border-radius:6px;padding:6px 10px 6px 24px;box-shadow:0 0 18px #7fe3ff2e}.topics li.is-new:before{left:9px;top:.95em;background:#7fe3ff}.relic-note{margin:-6px 0 18px;font-style:italic;color:var(--gold-soft);font-size:18px}.relic-note[hidden]{display:none}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 18px;margin-top:6px}.stat{display:grid}.stat b{font-family:var(--display);font-weight:500;font-size:clamp(22px,2.2vw,30px);color:var(--gold-soft)}.stat span{color:var(--ivory-dim);font-size:10px}.chapter-workshop{border-color:#7fd3de8c}.chapter-workshop .eyebrow{color:#9fe3ec}.ivory{position:relative;z-index:30;background:var(--ivory);color:#2a170d}.ivory .eyebrow{color:var(--maroon)}.ivory-inner{max-width:820px;margin:0 auto;padding:clamp(64px,10vw,120px) var(--gutter) 56px}.ivory-title{font-family:var(--display);font-weight:500;font-size:clamp(28px,4vw,48px);margin:0 0 32px;color:var(--maroon)}.faq details{border-top:1px solid rgba(90,26,31,.25)}.faq details:last-child{border-bottom:1px solid rgba(90,26,31,.25)}.faq summary{cursor:pointer;list-style:none;padding:20px 36px 20px 0;position:relative;font-size:clamp(19px,1.8vw,23px);font-weight:500}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";position:absolute;right:4px;top:16px;font-family:var(--mono);font-size:22px;color:var(--maroon);transition:rotate .3s}.faq details[open] summary:after{rotate:45deg}.faq details p{margin:0 0 22px;font-size:19px;line-height:1.55;color:#4a3326;max-width:64ch}.faq summary:focus-visible{outline:1px solid var(--maroon);outline-offset:4px}.ivory-footer{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:28px;max-width:1100px;margin:0 auto;padding:48px var(--gutter) 64px;border-top:1px solid rgba(90,26,31,.2)}.ivory-footer a{display:block;color:#2a170d;text-decoration:none;font-size:19px;margin:0 0 6px;overflow-wrap:anywhere}.ivory-footer a:hover{color:var(--maroon);text-decoration:underline}.foot-label{color:var(--maroon);margin:0 0 12px}.ivory-inner+.ivory-inner{padding-top:24px}.letter{max-width:64ch;font-size:clamp(19px,1.7vw,22px);line-height:1.6;color:#3a2418}.letter p{margin:0 0 16px}.signature b{font-family:var(--display);font-weight:500;color:var(--maroon)}.signature .mono{color:#8a6a4a}.why{display:grid;gap:0}.why-row{border-top:1px solid rgba(90,26,31,.25);padding:18px 0;display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:8px 28px}.why-row:last-child{border-bottom:1px solid rgba(90,26,31,.25)}.why-row p{margin:0;font-size:19px;line-height:1.5;color:#4a3326}.why-head b{font-family:var(--display);font-weight:500;font-size:22px;color:var(--maroon);display:block}.why-head .mono{color:#8a6a4a}.promise-lede{font-size:20px;color:#3a2418;margin:0 0 14px}.promise{margin:0 0 18px;padding-left:26px;display:grid;gap:8px;font-size:21px;color:#2a170d}.promise li::marker{color:var(--maroon);font-family:var(--mono)}.foot-logo{width:180px;height:auto;margin-bottom:10px}.foot-note{margin:0;color:#6b4f3a;font-size:17px}.in-2d .hud,.in-2d .chapter,.in-2d .hotspot,.in-2d .milestone{opacity:0!important;pointer-events:none!important}.fallback{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:22px;text-align:center;padding:var(--gutter)}.fallback[hidden]{display:none}@media(max-width:767px){.chapter-hero{top:9vh}.scroll-hint{bottom:calc(var(--gutter) + 52px)}.chapter-class{left:var(--gutter);text-align:left;justify-items:start;top:12vh}.hotspot .label{display:none}.hotspot .card{width:min(220px,60vw);font-size:15px}.bar{width:90px}.chapter-panel{top:auto;bottom:calc(var(--gutter) + 52px);translate:none;padding:18px}.chapter-panel .topics li{font-size:16px}.chapter-panel blockquote{font-size:18px}.chapter-kural{display:none}.chapter-course{left:var(--gutter);right:var(--gutter);max-width:none;bottom:calc(var(--gutter) + 92px)}.equation{justify-content:flex-start}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.why-row{grid-template-columns:1fr}.chapter-workshop .topics{display:none}.milestone{width:150px}.milestone p{font-size:14px}}@media(max-height:760px)and (min-width:768px){.chapter-panel{top:calc(50% + 20px);padding:16px 22px;max-height:calc(100vh - 150px);overflow:hidden}.chapter-panel .display-sm{font-size:clamp(20px,2vw,26px);margin-bottom:12px}.chapter-panel .eyebrow{margin-bottom:8px}.topics{gap:5px;margin-bottom:12px}.topics li{font-size:16px}.topics li.is-new{padding:4px 8px 4px 22px}.relic-note{font-size:16px;margin-bottom:10px}.method li{padding:8px 0;font-size:18px}}@media(prefers-reduced-motion:reduce){.dot:before{animation:none}.chapter,.method li{transition-duration:.01s}.topics li{animation:none}}.privacy-note{grid-column:1 / -1;margin:8px 0 0;font-size:14px;color:#8a6a4a}:root{--midnight: #0c0b1d;--gold: #d4aa55;--gold-soft: #f0d79a;--mono: "Marcellus SC", "Cinzel", serif;--code: "JetBrains Mono", ui-monospace, monospace;--moonlit: linear-gradient(180deg, #fffaf0 0%, #f4e8cc 52%, #d8b877 100%);--foil: linear-gradient(180deg, #fff3d2 0%, #f0cf86 42%, #c48f38 68%, #f5dca0 100%);--glass: linear-gradient(160deg, rgba(36, 30, 78, .55), rgba(14, 12, 34, .55));--hairline: rgba(240, 215, 154, .45)}.mono{font-size:12px;letter-spacing:.26em}.display,.course-name,.display-sm{background:var(--moonlit);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 2px 14px rgba(8,6,26,.75)) drop-shadow(0 0 28px rgba(255,214,150,.12))}.display{letter-spacing:.06em}.gold,.tamil,.stat b,.equation b{background:var(--foil);-webkit-background-clip:text;background-clip:text;color:transparent}.tamil{filter:drop-shadow(0 2px 10px rgba(8,6,26,.8))}.kural{color:#f3e8d2c7}.eyebrow{color:var(--gold-soft);text-shadow:0 1px 10px rgba(8,6,26,.8)}.chapter-hero .eyebrow{display:inline-flex;align-items:center;gap:14px}.chapter-hero .eyebrow:before,.chapter-hero .eyebrow:after{content:"";width:46px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-soft))}.chapter-hero .eyebrow:after{transform:scaleX(-1)}.hud-tr{border-bottom:0;background:linear-gradient(90deg,transparent,var(--gold-soft)) bottom / 100% 1px no-repeat;color:var(--gold-soft)}.hud-bl{background:var(--glass);border-color:var(--hairline);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#f6ead0}.hud-bl[aria-pressed=true]{background:linear-gradient(120deg,#d4aa5559,#241e4e8c)}.bar{background:#f0d79a2e}.bar i{background:linear-gradient(90deg,#c48f38,#fff0c2);box-shadow:0 0 10px #ffd28c99}.scroll-hint{color:var(--gold-soft)}.scroll-hint:after{content:"";position:absolute;left:50%;top:calc(100% + 4px);width:1px;height:16px;background:linear-gradient(var(--gold-soft),transparent);animation:hint-drop 2.4s ease-in-out infinite}@keyframes hint-drop{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}to{transform:scaleY(0);transform-origin:bottom}}.chapter-method:before,.chapter-class:before{background:radial-gradient(closest-side,#0e0c22b8,#0e0c2200)}.chapter-course:before{content:"";position:absolute;top:-40px;right:-40px;bottom:-30px;left:-80px;z-index:-1;pointer-events:none;background:radial-gradient(closest-side,#0e0c2299,#0e0c2200)}.logo-chip{background:linear-gradient(160deg,#fff9eaf5,#eadcbee6);border:1px solid rgba(240,215,154,.8);box-shadow:0 6px 18px #08061880,inset 0 1px #ffffffb3,0 0 18px #ffc87824}.logo-chip.ai{background:linear-gradient(140deg,#2b2a72,#6a4fd6 60%,#a98bff);color:#fff4d6;border-color:#f0d79acc;font-family:var(--display)}.btn-gold{background:linear-gradient(110deg,#c48f38,#f0cf86 35%,#fff3d2,#f0cf86 65%,#c48f38) 0 0 / 250% 100%;color:#1a1206;box-shadow:0 8px 26px #c48f3859;animation:sheen 5s ease-in-out infinite}.btn-gold:hover{background-position:100% 0}@keyframes sheen{0%,to{background-position:0 0}50%{background-position:100% 0}}.btn-ghost{background:var(--glass);border-color:var(--hairline);color:#f6ead0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@media(prefers-reduced-motion:reduce){.btn-gold,.scroll-hint:after{animation:none}}@media(min-width:768px){.chapter-kural{top:36vh;bottom:auto}}.firefly,.firefly-trail{position:fixed;left:0;top:0;pointer-events:none;border-radius:50%;mix-blend-mode:screen;will-change:transform}.firefly{z-index:60;width:16px;height:16px;margin:-8px 0 0 -8px;background:radial-gradient(circle,#fffbe6 0 16%,rgba(255,226,140,.9) 28%,rgba(255,190,90,.22) 58%,transparent 72%);box-shadow:0 0 26px 10px #ffc86e38}.firefly-trail{z-index:59;width:4px;height:4px;margin:-2px 0 0 -2px;background:#ffdc96f2;box-shadow:0 0 8px #ffc86eb3}.in-2d .firefly,.in-2d .firefly-trail{opacity:0!important}.is-ready .chapter-hero .display{animation:dawn 3.2s cubic-bezier(.2,.7,.2,1) both}@keyframes dawn{0%{opacity:0;letter-spacing:.2em;filter:blur(14px) drop-shadow(0 2px 14px rgba(8,6,26,.75))}to{opacity:1;letter-spacing:.06em;filter:blur(0) drop-shadow(0 2px 14px rgba(8,6,26,.75)) drop-shadow(0 0 28px rgba(255,214,150,.12))}}@media(prefers-reduced-motion:reduce){.is-ready .chapter-hero .display{animation:none}}body.is-day:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(22,16,40,.5) 0%,rgba(22,16,40,.16) 26%,transparent 44%,transparent 68%,rgba(22,14,30,.42) 100%)}body.is-day.in-2d:before{display:none}body.is-day .display,body.is-day .course-name,body.is-day .display-sm{filter:drop-shadow(0 2px 12px rgba(20,12,30,.85)) drop-shadow(0 0 2px rgba(20,12,30,.6))}.hud-time{bottom:var(--gutter);left:calc(var(--gutter) + 136px);width:78px;height:38px;padding:0 10px;border-radius:999px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--hairline);background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#f6ead0bf}.hud-time svg{position:relative;z-index:1;width:16px;height:16px;transition:color .5s ease}.hud-time .knob{position:absolute;top:4px;left:4px;width:28px;height:28px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#f4f1ff,#9fa6d8);box-shadow:0 0 14px #aab4ff8c;transition:transform .6s cubic-bezier(.6,.1,.2,1),background .6s ease,box-shadow .6s ease}.hud-time[aria-checked=false] .ico-moon{color:#1c1838}.hud-time[aria-checked=true] .knob{transform:translate(40px);background:radial-gradient(circle at 35% 35%,#fffbe6,#ffc04d);box-shadow:0 0 18px #ffc45ad9}.hud-time[aria-checked=true] .ico-sun{color:#5a3608}.hud-time:focus-visible{outline:1px solid var(--gold-soft);outline-offset:4px}.time-veil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;pointer-events:none;opacity:0;background:radial-gradient(ellipse at 50% 40%,#2a2457,#0c0b1d 75%);transition:opacity .65s ease}.time-veil.to-day{background:radial-gradient(ellipse at 30% 30%,#fff3d6,#f1c98a 55%,#b98a52)}.time-veil.on{opacity:1}@media(prefers-reduced-motion:reduce){.time-veil,.hud-time .knob{transition:none}}.chapter{will-change:opacity,transform}.chapter:not(.chapter-hero).is-active [data-scramble],.text-in{animation:heading-in 1.1s cubic-bezier(.16,1,.3,1) both}@keyframes heading-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.method li{will-change:opacity,transform}@media(prefers-reduced-motion:reduce){.chapter.is-active [data-scramble],.text-in{animation:none}}body.gl-lost #webgl{visibility:hidden}body.gl-lost:after{content:"Restoring the palace…";position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;background:var(--midnight);color:var(--gold-soft);font-family:var(--display);letter-spacing:.24em;font-size:15px}.tour-gate{position:fixed;z-index:25;left:50%;bottom:calc(var(--gutter) + 46px);translate:-50% 0;display:grid;justify-items:center;gap:12px;opacity:0;pointer-events:none;transition:opacity .9s ease .6s}.is-ready .tour-gate{opacity:1;pointer-events:auto}.tour-chosen .tour-gate{opacity:0;pointer-events:none;transition-delay:0s}.tour-lang{display:flex;padding:3px;border-radius:999px;border:1px solid var(--hairline);background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tour-lang button{border:0;background:none;color:#f6ead0bf;cursor:pointer;font-family:var(--mono);font-size:12px;letter-spacing:.18em;padding:6px 14px;border-radius:999px}.tour-lang button[lang=ta]{font-family:var(--tamil);letter-spacing:0;font-size:14px}.tour-lang button[aria-pressed=true]{background:linear-gradient(120deg,#c48f38,#f0cf86);color:#1a1206}.tour-start{padding:13px 26px}.tour-quiet{background:none;border:0;color:#f6ead0cc;cursor:pointer;font-size:11px;text-decoration:underline;text-underline-offset:4px}.tour-gate button:focus-visible{outline:1px solid var(--gold-soft);outline-offset:4px}.is-ready:not(.tour-chosen) .scroll-hint{opacity:0}.is-touring .scroll-hint{opacity:0!important}.tour-caption{position:fixed;z-index:24;left:50%;bottom:calc(var(--gutter) - 4px);translate:-50% 0;width:min(660px,calc(100vw - 600px));text-align:center;pointer-events:none}.tour-caption-text{display:inline;margin:0;padding:4px 10px;border-radius:6px;font-family:var(--serif);font-size:clamp(17px,1.7vw,22px);line-height:1.5;color:#fbf3df;background:#0c0a1c6b;box-decoration-break:clone;-webkit-box-decoration-break:clone;text-shadow:0 1px 10px rgba(8,6,26,.9);opacity:0;transition:opacity .7s ease}.tour-caption[lang=ta] .tour-caption-text{font-family:var(--tamil);font-size:clamp(15px,1.5vw,19px)}.tour-caption.is-on .tour-caption-text{opacity:1}.in-2d .tour-caption,.in-2d .tour-gate{display:none}@media(max-width:767px){.tour-gate{bottom:auto;top:44vh}.is-ready:not(.tour-chosen) .chapter:not(.chapter-hero){opacity:0;pointer-events:none}.tour-caption{width:calc(100vw - 2 * var(--gutter));bottom:calc(var(--gutter) + 52px)}}body:has(.chapter-final.is-active) .tour-caption{bottom:auto;top:42%;translate:0 -50%;left:var(--gutter);width:min(320px,calc(50vw - 230px));text-align:left}@media(max-width:767px){body:not(.is-touring) .tour-caption{display:none}.is-touring .chapter{opacity:0!important;pointer-events:none!important}body:has(.chapter-final.is-active) .tour-caption{top:auto;bottom:calc(var(--gutter) + 52px);translate:-50% 0;left:50%;width:calc(100vw - 2 * var(--gutter));text-align:center}}
