:root{
  --m-bg:#121212;
  --m-bg-deep:#0b0b0b;
  --m-surface:#171717;
  --m-surface-2:#1d1d1d;
  --m-line:#484848;
  --m-line-soft:rgba(255,255,255,.10);
  --m-text:#fff;
  --m-muted:#a9a9a9;
  --m-aqua:#14d8d0;
  --m-aqua-bright:#17ebe4;
  --m-coral:#f88f6f;
}
html{scroll-behavior:smooth;background:var(--m-bg-deep)}
body{background:var(--m-bg);color:var(--m-text)}
::selection{background:var(--m-aqua);color:#081313}
.m-grid{
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:48px 48px;
}
.m-dots{
  background-image:radial-gradient(rgba(255,255,255,.12) 1px,transparent 1px);
  background-size:18px 18px;
}
.m-grain{position:relative;isolation:isolate}
.m-grain:before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;opacity:.08;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");
  mix-blend-mode:soft-light;
}
.m-aura{position:absolute;filter:blur(80px);border-radius:999px;pointer-events:none;opacity:.12}
.m-component{transition:border-color .22s ease,background-color .22s ease,transform .22s ease,box-shadow .22s ease;color .22s ease}
.m-component:hover{border-color:var(--m-coral)}
.m-component:hover .m-accent{color:var(--m-coral)!important}
.m-component:hover .m-accent-bg{background:var(--m-coral)!important;color:#17100d!important}
.m-component:hover .m-accent-border{border-color:var(--m-coral)!important}
.m-lift:hover{transform:translateY(-4px)}
.m-terminal-line:before{content:attr(data-line);display:inline-block;width:2rem;margin-right:1rem;color:#555;text-align:right;user-select:none}
.m-scrollbar::-webkit-scrollbar{height:8px;width:8px}.m-scrollbar::-webkit-scrollbar-thumb{background:#333;border-radius:20px}.m-scrollbar::-webkit-scrollbar-track{background:#171717}
.m-fade-mask{mask-image:linear-gradient(to bottom,transparent,black 12%,black 88%,transparent)}
.m-glass{background:rgba(18,18,18,.86);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.m-number{font-variant-numeric:tabular-nums}
.m-marquee{animation:marquee 24s linear infinite;width:max-content}
@keyframes marquee{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.m-marquee{animation:none}.m-lift:hover{transform:none}}


/* Pattern library additions */
.m-live-dot{box-shadow:0 0 0 0 rgba(20,216,208,.55);animation:m-live 2s ease-out infinite}
.m-pulse-text{animation:m-pulse-text 1.65s ease-in-out infinite;text-shadow:0 0 18px rgba(248,143,111,.28)}
.m-terminal-cursor{animation:m-cursor 1s steps(2,end) infinite;box-shadow:0 0 16px rgba(20,216,208,.45)}
@keyframes m-live{0%{box-shadow:0 0 0 0 rgba(20,216,208,.5)}70%{box-shadow:0 0 0 9px rgba(20,216,208,0)}100%{box-shadow:0 0 0 0 rgba(20,216,208,0)}}
@keyframes m-pulse-text{0%,100%{opacity:1;filter:brightness(1)}50%{opacity:.58;filter:brightness(1.22)}}
@keyframes m-cursor{0%,45%{opacity:1}46%,100%{opacity:0}}
.m-media-placeholder{background:linear-gradient(135deg,#171717,#101010);position:relative}
.m-media-placeholder:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(20,216,208,.045),transparent 45%,rgba(248,143,111,.035));}
.m-prose{font-size:1rem;line-height:1.8;color:var(--m-muted)}
.m-prose h2{margin-top:.5rem;color:#fff;font-size:clamp(2rem,4vw,3.7rem);line-height:1.02;letter-spacing:-.045em;font-weight:900}
.m-prose h3{margin-top:2.25rem;color:#fff;font-size:1.45rem;line-height:1.2;font-weight:800}
.m-prose p{margin-top:1.25rem}.m-prose .m-lead{font-size:1.18rem;line-height:1.75;color:#d6d6d6}
.m-prose ul{margin-top:1rem;display:grid;gap:.55rem}.m-prose li{padding-left:1.35rem;position:relative}.m-prose li:before{content:"+";position:absolute;left:0;color:var(--m-aqua);font-weight:800}
.m-prose blockquote{margin-top:2rem;border:1px solid rgba(20,216,208,.22);background:rgba(20,216,208,.035);border-radius:1.15rem;padding:1.25rem 1.35rem;color:#d9d9d9}
.m-stack-card{position:relative}
@media (min-width:768px){
  .m-stack{padding-bottom:18vh}
  .m-stack-card{position:sticky;min-height:19rem}
  .m-stack-card:nth-child(1){top:6.25rem;z-index:10}
  .m-stack-card:nth-child(2){top:7.5rem;z-index:20}
  .m-stack-card:nth-child(3){top:8.75rem;z-index:30}
  .m-stack-card:nth-child(4){top:10rem;z-index:40}
  .m-stack-card:nth-child(5){top:11.25rem;z-index:50}
}
@media (max-width:639px){
  .m-terminal-line:before{width:1.35rem;margin-right:.65rem}
  .m-prose{font-size:.96rem}
}
@media (prefers-reduced-motion:reduce){.m-live-dot,.m-pulse-text,.m-terminal-cursor{animation:none!important}.m-pulse-text{opacity:1}.m-terminal-cursor{opacity:1}}
