/* ewebookz — Living Knowledge HUD motion layer */
:root { --ebz-blue:#4d8ffc; --ebz-gold:#f0b860; --ebz-green:#4ecf87; }
body.ebz-motion { background:#070a12; }
body.ebz-motion .hero { isolation:isolate; overflow:hidden; }
body.ebz-motion .hero::before {
  content:""; position:absolute; inset:0; z-index:-2; pointer-events:none;
  background:
    linear-gradient(rgba(77,143,252,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(77,143,252,.035) 1px,transparent 1px);
  background-size:36px 36px; mask-image:linear-gradient(to bottom,#000 10%,transparent 94%);
  animation:ebzGrid 18s linear infinite;
}
body.ebz-motion .hero::after { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; background:radial-gradient(circle at 72% 42%,rgba(240,184,96,.1),transparent 28%),radial-gradient(circle at 60% 16%,rgba(77,143,252,.08),transparent 30%); }
@keyframes ebzGrid { to { background-position:36px 36px; } }
.ebz-engine { position:relative; min-height:560px; overflow:hidden; border:1px solid rgba(97,132,190,.2); border-radius:24px; background:linear-gradient(155deg,rgba(13,21,39,.96),rgba(7,11,22,.92)); box-shadow:0 32px 90px rgba(0,0,0,.55),inset 0 1px rgba(255,255,255,.05); }
.ebz-engine::before,.ebz-engine::after { content:""; position:absolute; z-index:4; width:30px; height:30px; border-color:rgba(240,184,96,.48); pointer-events:none; }
.ebz-engine::before { left:12px; top:12px; border-left:1px solid; border-top:1px solid; }
.ebz-engine::after { right:12px; bottom:12px; border-right:1px solid; border-bottom:1px solid; }
.ebz-console-top { position:absolute; z-index:5; top:17px; left:20px; right:20px; display:flex; justify-content:space-between; align-items:center; color:rgba(194,211,238,.42); font:700 9px/1 monospace; letter-spacing:.13em; text-transform:uppercase; }
.ebz-console-live { color:rgba(78,207,135,.82); display:flex; align-items:center; gap:7px; }
.ebz-console-live::before { content:""; width:6px; height:6px; border-radius:50%; background:#4ecf87; box-shadow:0 0 12px #4ecf87; animation:ebzPulse 1.6s ease-in-out infinite; }
@keyframes ebzPulse { 50%{opacity:.3;transform:scale(.7)} }
.ebz-flow { position:absolute; left:24px; top:82px; bottom:64px; width:92px; display:flex; flex-direction:column; justify-content:space-between; z-index:4; }
.ebz-flow::before { content:""; position:absolute; left:13px; top:14px; bottom:14px; width:1px; background:linear-gradient(#4d8ffc,#f0b860,#4ecf87); opacity:.35; }
.ebz-flow::after { content:""; position:absolute; left:11px; top:12px; width:5px; height:48px; border-radius:8px; background:linear-gradient(transparent,#fff,transparent); filter:blur(.3px); animation:ebzFlow 4s ease-in-out infinite; }
@keyframes ebzFlow { 0%{transform:translateY(0);opacity:0} 15%{opacity:1} 85%{opacity:1} 100%{transform:translateY(320px);opacity:0} }
.ebz-step { position:relative; padding-left:28px; color:rgba(206,218,238,.38); font:800 9px/1.2 monospace; letter-spacing:.1em; }
.ebz-step::before { content:""; position:absolute; left:8px; top:1px; width:11px; height:11px; border-radius:3px; border:1px solid rgba(77,143,252,.55); background:#0a1020; box-shadow:0 0 10px rgba(77,143,252,.18); }
.ebz-step.active { color:#f0b860; }
.ebz-step.active::before { background:#f0b860; border-color:#ffe0a0; box-shadow:0 0 14px rgba(240,184,96,.58); animation:ebzStep 2.4s ease-in-out infinite; }
@keyframes ebzStep { 50%{transform:scale(.72);opacity:.55} }
.ebz-book-stage { position:absolute; inset:72px 80px 84px 116px; display:grid; place-items:center; }
.ebz-book-svg { width:min(100%,430px); height:auto; overflow:visible; filter:drop-shadow(0 24px 34px rgba(0,0,0,.5)); }
.ebz-page-left,.ebz-page-right { stroke-width:1.4; transform-origin:210px 236px; }
.ebz-page-left { fill:url(#ebzPageLeft); stroke:rgba(112,166,244,.7); animation:ebzPageL 5s ease-in-out infinite; }
.ebz-page-right { fill:url(#ebzPageRight); stroke:rgba(240,184,96,.65); animation:ebzPageR 5s ease-in-out infinite; }
@keyframes ebzPageL { 50%{transform:skewY(-1.7deg) translateY(-3px)} }
@keyframes ebzPageR { 50%{transform:skewY(1.7deg) translateY(-3px)} }
.ebz-book-line { stroke:rgba(203,219,244,.28); stroke-width:2; stroke-linecap:round; stroke-dasharray:42 80; animation:ebzRead 5s linear infinite; }
@keyframes ebzRead { to{stroke-dashoffset:-122} }
.ebz-book-spine { fill:#f0b860; filter:url(#ebzGlow); }
.ebz-neural-path { fill:none; stroke:rgba(78,207,135,.46); stroke-width:1.4; stroke-dasharray:4 7; animation:ebzRead 4s linear infinite reverse; }
.ebz-neural-dot { fill:#72e3a8; filter:url(#ebzGlow); animation:ebzDot 2.2s ease-in-out infinite; }
@keyframes ebzDot { 50%{opacity:.35;r:3px} }
.ebz-orbit-word { fill:rgba(207,222,245,.42); font:800 9px monospace; letter-spacing:1px; }
.ebz-metric { position:absolute; z-index:4; padding:10px 12px; min-width:110px; border:1px solid rgba(104,139,195,.17); border-radius:11px; background:rgba(9,15,29,.9); box-shadow:0 12px 30px rgba(0,0,0,.35); animation:ebzFloat 5s ease-in-out infinite; }
.ebz-metric.focus { top:17%; right:5%; }
.ebz-metric.recall { right:7%; bottom:20%; animation-delay:-2s; }
.ebz-metric.streak { left:24%; bottom:9%; animation-delay:-1s; }
@keyframes ebzFloat { 50%{transform:translateY(-7px)} }
.ebz-metric-label { color:rgba(191,211,238,.4); font:700 8px/1 monospace; letter-spacing:.11em; text-transform:uppercase; }
.ebz-metric-value { margin-top:5px; color:#f7fbff; font-size:14px; font-weight:900; }
.ebz-metric-value em { color:#4ecf87; font-style:normal; font-size:10px; }
.ebz-console-bottom { position:absolute; left:20px; right:20px; bottom:17px; z-index:5; display:flex; gap:10px; align-items:center; color:rgba(187,207,235,.34); font:700 9px/1 monospace; letter-spacing:.1em; text-transform:uppercase; }
.ebz-progress-track { flex:1; height:3px; border-radius:3px; background:rgba(255,255,255,.07); overflow:hidden; }
.ebz-progress-track::after { content:""; display:block; width:68%; height:100%; background:linear-gradient(90deg,#4d8ffc,#f0b860,#4ecf87); box-shadow:0 0 12px rgba(77,143,252,.65); animation:ebzProgress 4.5s ease-in-out infinite; transform-origin:left; }
@keyframes ebzProgress { 50%{transform:scaleX(.72)} }
body.motion-ready [data-motion-reveal] { opacity:0; transform:translateY(22px); transition:opacity .7s ease,transform .7s cubic-bezier(.22,.7,.2,1); }
body.motion-ready [data-motion-reveal].motion-in { opacity:1; transform:none; }
body.motion-ready .hero [data-motion-reveal] { opacity:1; transform:none; }
@media(max-width:960px){.ebz-engine{min-height:500px}.ebz-book-stage{inset:70px 55px 82px 105px}.ebz-metric.streak{left:30%}}
@media(max-width:620px){.ebz-engine{min-height:430px}.ebz-flow{left:14px;top:70px;bottom:58px;width:76px}.ebz-book-stage{inset:66px 30px 76px 72px}.ebz-metric{min-width:84px;padding:8px}.ebz-metric.focus{right:2%}.ebz-metric.recall{right:2%}.ebz-metric.streak{display:none}.ebz-orbit-word{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}body.motion-ready [data-motion-reveal]{opacity:1;transform:none}}

/* Full-page mathematical knowledge field. */
.ebz-body-particles { position:fixed; inset:0; z-index:40; overflow:hidden; pointer-events:none; opacity:.65; mask-image:linear-gradient(90deg,#000 0 24%,rgba(0,0,0,.15) 40% 60%,#000 76% 100%); }
.ebz-body-particles .equation { position:absolute; display:block; left:var(--px); top:var(--py); padding:5px 9px; white-space:nowrap; color:rgba(137,215,255,.58); border:1px solid rgba(137,215,255,.13); border-radius:5px; background:rgba(7,12,25,.16); box-shadow:0 0 18px rgba(77,143,252,.06); font:500 var(--fs,12px)/1.2 "JetBrains Mono","Courier New",monospace; font-style:normal; letter-spacing:.025em; text-shadow:0 0 9px currentColor; will-change:transform,opacity; animation:ebzEquationOrbit var(--pd) ease-in-out var(--delay) infinite,ebzEquationPulse 5s ease-in-out var(--delay) infinite; }
.ebz-body-particles .equation::before { content:""; position:absolute; width:3px; height:3px; left:-2px; top:-2px; border-radius:50%; background:currentColor; box-shadow:0 0 8px currentColor; }
.ebz-body-particles .equation.cyan { color:rgba(137,215,255,.64); border-color:rgba(137,215,255,.16); }
.ebz-body-particles .equation.violet { color:rgba(200,181,255,.58); border-color:rgba(155,110,243,.17); }
.ebz-body-particles .equation.green { color:rgba(114,227,168,.57); border-color:rgba(78,207,135,.16); }
.ebz-body-particles .equation.gold { color:rgba(255,213,135,.55); border-color:rgba(240,184,96,.16); }
@keyframes ebzEquationOrbit { 0%,100%{transform:translate3d(0,0,0) rotate(-2deg)} 24%{transform:translate3d(var(--sway),-10px,0) rotate(2deg)} 52%{transform:translate3d(5px,13px,0) rotate(1deg)} 76%{transform:translate3d(-10px,-4px,0) rotate(-3deg)} }
@keyframes ebzEquationPulse { 0%,100%{opacity:.28} 42%,62%{opacity:.86} }
.ebz-body-particles .equation:nth-child(3n){--fs:10px;filter:blur(.15px)}
.ebz-body-particles .equation:nth-child(4n){--fs:14px}
.ebz-body-particles i:nth-child(1){--px:4%;--pd:22s;--delay:-8s;--sway:44px}.ebz-body-particles i:nth-child(2){--px:93%;--pd:28s;--delay:-21s;--sway:-34px}.ebz-body-particles i:nth-child(3){--px:14%;--pd:25s;--delay:-17s;--sway:26px}.ebz-body-particles i:nth-child(4){--px:85%;--pd:32s;--delay:-29s;--sway:-48px}.ebz-body-particles i:nth-child(5){--px:97%;--pd:20s;--delay:-5s;--sway:-25px}.ebz-body-particles i:nth-child(6){--px:8%;--pd:30s;--delay:-24s;--sway:51px}.ebz-body-particles i:nth-child(7){--px:88%;--pd:23s;--delay:-13s;--sway:-30px}.ebz-body-particles i:nth-child(8){--px:18%;--pd:27s;--delay:-20s;--sway:35px}.ebz-body-particles i:nth-child(9){--px:3%;--pd:34s;--delay:-30s;--sway:57px}.ebz-body-particles i:nth-child(10){--px:96%;--pd:19s;--delay:-12s;--sway:-42px}.ebz-body-particles i:nth-child(11){--px:22%;--pd:29s;--delay:-18s;--sway:24px}.ebz-body-particles i:nth-child(12){--px:79%;--pd:24s;--delay:-9s;--sway:-53px}.ebz-body-particles i:nth-child(13){--px:91%;--pd:31s;--delay:-27s;--sway:-29px}.ebz-body-particles i:nth-child(14){--px:9%;--pd:21s;--delay:-15s;--sway:46px}.ebz-body-particles i:nth-child(15){--px:84%;--pd:26s;--delay:-22s;--sway:-61px}.ebz-body-particles i:nth-child(16){--px:15%;--pd:33s;--delay:-7s;--sway:38px}
.ebz-body-particles i:nth-child(1){--py:8%}.ebz-body-particles i:nth-child(2){--py:14%}.ebz-body-particles i:nth-child(3){--py:23%}.ebz-body-particles i:nth-child(4){--py:30%}.ebz-body-particles i:nth-child(5){--py:39%}.ebz-body-particles i:nth-child(6){--py:47%}.ebz-body-particles i:nth-child(7){--py:56%}.ebz-body-particles i:nth-child(8){--py:65%}.ebz-body-particles i:nth-child(9){--py:76%}.ebz-body-particles i:nth-child(10){--py:86%}.ebz-body-particles i:nth-child(11){--py:18%}.ebz-body-particles i:nth-child(12){--py:27%}.ebz-body-particles i:nth-child(13){--py:50%}.ebz-body-particles i:nth-child(14){--py:62%}.ebz-body-particles i:nth-child(15){--py:73%}.ebz-body-particles i:nth-child(16){--py:90%}
@media(max-width:700px){.ebz-body-particles{opacity:.42}.ebz-body-particles .equation{--fs:9px;padding:3px 5px}.ebz-body-particles i:nth-child(3n){display:none}}
@media(prefers-reduced-motion:reduce){.ebz-body-particles{display:none}}

.landing-plan-value { display:flex; flex-direction:column; gap:4px; margin:-5px 0 17px; padding:11px 12px; border:1px solid rgba(var(--pc),.2); border-radius:10px; background:rgba(var(--pc),.065); font-family:"Plus Jakarta Sans",system-ui,sans-serif; }
.landing-plan-value strong { color:rgba(var(--pc),1); font-size:.82rem; font-weight:900; letter-spacing:.01em; }
.landing-plan-value span { color:#fff; font-size:.76rem; font-weight:750; }
.landing-plan-value small { color:rgba(255,255,255,.46); font:700 .6rem/1.4 "JetBrains Mono",monospace; letter-spacing:.07em; text-transform:uppercase; }
